![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравтвуйте. Наткнулся на проблему поиска и удаления определенных символов в Memo.
Код:
ка!кой то 2!3текст !какой т\о текст :какой то те@кс@@т ка@@кой то текст какой то тек!ст Нужно очистить текст от этих символов. Заранее благодарен. |
|
#2
|
||||
|
||||
|
Код:
var
s: String;
i: Integer;
begin
s:='';
for i:=1 to Length(Memo1.Text) do
if Memo1.Text[i] in ['А'..'Я', 'а'..'я', ' '] then s:=s+Memo1.Text[i];
Memo1.Text:=s;
end; |
|
#3
|
|||
|
|||
|
Цитата:
Попробовал сделать так, и протестировал на англ тексте, все работает. Код:
var i:integer; s:string; begin s:=''; for i:=0 to Length(Memo1.Text) do if Memo1.Text[i] in ['А'..'Z', 'a'..'z', ' '] then s:=s+Memo1.Text[i]; Memo1.Text:=s; end; |
|
#4
|
|||
|
|||
|
С некоторых пор(с D2009), Char в Дельфи стал юникодовским(двухбайтовым), а множества (set of ...)остались однобайтовые, и множество из русских букв сделать нельзя. Поэтому принадлежность символа буквам русского алфавита нужно делать ручками.
|
|
#5
|
||||
|
||||
|
Цитата:
![]() Код:
var
s: String;
i: Integer;
c: Char;
begin
s:='';
for i:=1 to Length(Memo1.Text) do
begin
c:=Memo1.Text[i];
if ((c>='а') and (c<='я'))
or ((c>='А') and (c<='Я'))
or ((c>='A') and (c<='Z'))
or ((c>='a') and (c<='z'))
or (c=' ') then s:=s+Memo1.Text[i];
end;
Memo1.Text:=s;
end; |
|
#6
|
||||
|
||||
|
Ребят, букву "ё" сиречь "Ё" забыли упомянуть, она в стандартный набор почему-то не входит
|