СообЧа > База Знаний > Программирование > Pascal

Вопрос

Есть строка S=' word1 word2 etc '. Как удалить из строки S боковые пробелы.
Т.е. надо сделать то же самое, что в Delphi делает Trim.

Ответ

Вот когда-то давненько для собственных нужд делал:

Function LTrim(s_target: String):String;
{удаление всех пробелов слева} Begin If Length(S_Target)<1 then {если строка пустая} begin LTrim:=S_Target;
Exit;
end;
While S_Target[1]=' ' do Delete(S_Target,1,1);
{удаляем по одному пробелы слева} LTrim:=S_Target;
End;
{LTrim}
{-----------------}
Function RTrim(s_target: String):String;
{удаление всех пробелов справа} Begin If Length(S_Target)<1 then begin RTrim:=S_Target;
Exit;
end;
While S_Target[Length(S_Target)]=' ' do Delete(S_Target,Length(S_Target),1);
RTrim:=S_Target;
End;
{RTrim}
{-----------------}
Function AllTrim(s_target: String):String;
{удаление всех пробелов слева и справа используя две предыдущие функции} Begin If Length(S_Target)<1 then begin AllTrim:=S_Target;
Exit;
end;
S_Target:=LTrim(S_Target);
S_Target:=RTrim(S_Target);
AllTrim:=S_Target;
End;
{AllTrim}


Вызов к примеру такой: rezult:=AllTrim(' строка-цель ');

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация