Вниз
Скачать: CL | DM;

Удаление всех пробелов из строки?   Найти похожие ветки 

← →
-Gruo-   (2006-09-30 01:39) [0]

Привет!! Подскажите как удалить все пробелы из строки?


← →
Германн ©   (2006-09-30 01:55) [1]


> -Gruo-   (30.09.06 01:39)
>
> Привет!! Подскажите как удалить все пробелы из строки?


var St : String;
St:=StringReplace(St," ","",[rfReplaceAll]);


← →
Германн ©   (2006-09-30 02:01) [2]

Чтобы было ещё нагляднее
St:=StringReplace(St,#32,"",[rfReplaceAll]);


← →
Джо ©   (2006-09-30 11:05) [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;


← →
Leonid Troyanovsky ©   (2006-09-30 11:35) [4]


> Джо ©   (30.09.06 11:05) [3]

> Ну, или, экономя на реаллокациях, так:


Для экономии, IMHO, procedure StripSpaces(var s: String).

--
Regards, LVT.


← →
Джо ©   (2006-09-30 12:05) [5]

> [4] Leonid Troyanovsky ©   (30.09.06 11:35)
> Для экономии, IMHO, procedure StripSpaces(var s: String)
> .

Именно так. Зависит, конечно, от требования к конкретному интерфейсу, предоставляемому функцией/процедурой.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
3-1155295013
Lexiy
2006-08-11 15:16
2006.10.15
Оптимизация запросов


2-1159348886
webpauk
2006-09-27 13:21
2006.10.15
Что использовать?


11-1135000241
Yozch1
2005-12-19 16:50
2006.10.15
Запуск приложения в KOL проекте


15-1158875054
DrPass
2006-09-22 01:44
2006.10.15
О, ее-таки отправили на Бали


15-1158931308
Megabyte
2006-09-22 17:21
2006.10.15
Firebird 2.0 и IB_Expert 2.5.0.22




   Наверх