Удалить все слова начинающиеся с большой буквы при этом не перезаписывая в блокнот
Категория: Delphi/Pascal
2013-04-11 13:27:57
Дана строка (Можно Edit или Memo) в которой необходимо удалить все слова начинающиеся с большой буквы при этом не перезаписывая в блокнот
code: #delphi
procedure TForm1.Button1Click(Sender: TObject); var s,s1:string; i:integer; begin s:=Edit1.Text; i:=2;s:=' '+s; //добавим пробел в начало и начнем со второго символа while i<=length(s) do //пока не конец строки begin if not(s[i] in ['A'..'Z','А'..'Я','Ё'])and(s[i-1]=' ')then //если буква не заглавная и перед ней пробел, то begin while (s[i]<>' ')and(i<=length(s))do //пока не следующий пробел или конец строки begin s1:=s1+s[i]; //переписываем буковку в новую строку inc(i); // переходим к следующей буковке end; s1:=s1+' ';//добавляем пробел end; inc(i); //переходим к следующему слову end; Edit1.Text:=s1;//выводим исправленное предложение end;
автор: Puporev
Поделиться: