Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];

Вниз

Аналог 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
2-1236858762
Андрей (начинающий)
2009-03-12 14:52
2009.04.26
Модальная форма


15-1235652901
Максим
2009-02-26 15:55
2009.04.26
ADOConnection не видит базы созданные на SQL сервере


2-1236599989
KillaTank
2009-03-09 14:59
2009.04.26
Поиск по DBF


2-1237306540
Кеша
2009-03-17 19:15
2009.04.26
Входящие цветные сообщения


15-1235483627
Alkid
2009-02-24 16:53
2009.04.26
Заменить notepad.exe на свой редактор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский