Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.26;
Скачать: CL | DM;

Вниз

Аналог explod из PHP   Найти похожие ветки 

 
девушка   (2009-03-16 15:09) [0]

Добрый день!

Сегодня один знакомый спросил есть ли в Delphi функция аналогичная explod из PHP для строки с разделителями...

array explode ( string separator, string string [, int limit] ) -- Разбивает строку на подстроки.

Я ответила, что не знаю - всегда сама руками писала что надо.
В ответ услышала, что "Delphi отстал от жизни"

Вот любопытно, есть ли среди стандартных библиотек подобная функция?

PS Я не считаю что Delphi отстал от жизни


 
Palladin ©   (2009-03-16 15:23) [1]

интересные у твоего знакомого "понятия" о жизни :)


 
Palladin ©   (2009-03-16 15:25) [2]

...практически на грани без умства :)
не знаю как в других версиях в D6 такой нет, но в версиях выше наверное есть...


 
девушка   (2009-03-16 15:39) [3]


> интересные у твоего знакомого "понятия" о жизни :)


вот и я как-то не смогла ничего ответить, кроме как: "пиши тогда на PHP"...


 
Игорь Шевченко ©   (2009-03-16 15:54) [4]

Я писал такую.

{
 Преобразование строки с разделителями в список строк.
 Параметры:
  Source    - исходная строка.
  Delimiter - строка-разделитель.
  Parts     - список строк, заполняемый функцией. Создается и уничтожается
              вызывающей функцией.
}
procedure StrBreakApart(const S, Delimeter: string; Parts: TStrings);
var
 curPos: Integer;
 curStr: string;
begin
 Parts.Clear;
 if Length(S) = 0 then
   Exit;
 Parts.BeginUpdate;
 try
   CurStr:= S;
   repeat
     CurPos:= AnsiPos(Delimeter, CurStr);
     if CurPos > 0 then begin
       Parts.Add(Copy(CurStr, 1, Pred(CurPos)));
       CurStr:= Copy(CurStr, CurPos+Length(Delimeter),
         Length(CurStr)-CurPos-Length(Delimeter)+1);
     end else
       Parts.Add(CurStr);
   until CurPos=0;
 finally
   Parts.EndUpdate;
 end;
end;


 
clickmaker ©   (2009-03-16 16:05) [5]

ExtractStrings()


 
Плохиш ©   (2009-03-16 17:55) [6]

TStringList


 
Игорь Шевченко ©   (2009-03-16 18:59) [7]

Плохиш ©   (16.03.09 17:55) [6]


> TStringList


clickmaker ©   (16.03.09 16:05) [5]


> ExtractStrings()


Фиги.

Оба метода воспринимают в качестве разделителя один символ, а StringList в дополнение еще и пробел может воспринимать, как разделитель. Грубо говоря, строку по разделителю в два пробела на куски не разобьешь.



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

Текущий архив: 2009.04.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1235469134
Boom boom box
2009-02-24 12:52
2009.04.26
Вывод на второй дисплей


15-1235674928
MsGuns
2009-02-26 22:02
2009.04.26
КУЕФА Есть почин ! Двое из пяти уже там. Ждем остальных !


2-1237222972
игяи
2009-03-16 20:02
2009.04.26
Как поместить image поверх всех компонент на форме.


15-1235497716
NoDt
2009-02-24 20:48
2009.04.26
Вопрос о wi-fi маршрутизаторах.


15-1235454205
JohnKOrsh
2009-02-24 08:43
2009.04.26
Не поможет ли кто с проблемой в Windows XP?