![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление всех пробелов из строки? [D7]
-Gruo- © (2006-09-30 01:39:00)Привет!! Подскажите как удалить все пробелы из строки?
Джо (2006-09-30 12:05:00) [1]> [4] Leonid Troyanovsky © (30.09.06 11:35)
> Для экономии, IMHO, procedure StripSpaces(var s: String)
> .
Именно так. Зависит, конечно, от требования к конкретному интерфейсу, предоставляемому функцией/процедурой.
Leonid Troyanovsky (2006-09-30 11:35:00) [2]
> Джо © (30.09.06 11:05) [3]
> Ну, или, экономя на реаллокациях, так:
Для экономии, IMHO, procedure StripSpaces(var s: String).
--
Regards, LVT.
Джо (2006-09-30 11:05:00) [3]А если "руками" и без использования громоздких механизмов, то как-то так:
function StripSpaces (const Source: string): string;
var
I,J: Integer;
begin
SetLength (Result,Length(Source));
J := 1;
for I := 1 to Length(Source) do
begin
if Source[I] <> ' ' then
begin
Result[J] := Source[I];
Inc (J);
end;
end;
SetLength (Result,J-1);
end;
Ну, или, экономя на реаллокациях, так:
function StripSpaces (const Source: string): string;
var
I,J,Len: Integer;
begin
// Precompute result length
Len := 0;
for I := 1 to Length(Source) do
if Source[I] <> ' ' then
Inc(Len);
SetLength (Result,Len);
J := 1;
for I := 1 to Length(Source) do
begin
if Source[I] <> ' ' then
begin
Result[J] := Source[I];
Inc (J);
end;
end;
end;
Германн (2006-09-30 02:01:00) [4]Чтобы было ещё нагляднее
St:=StringReplace(St,#32,'',[rfReplaceAll]);
Германн (2006-09-30 01:55:00) [5]
> -Gruo- (30.09.06 01:39)
>
> Привет!! Подскажите как удалить все пробелы из строки?
var St : String;
St:=StringReplace(St,' ','',[rfReplaceAll]);