![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли в Delhpi функция, подобная Splin в VB ? [D7, XP]
Сергей © (2008-05-23 12:35:00)Есть ли в Delhpi функция подобная Splin в VB (заносит части строк разделенные разделителем в строковый массив).
Подскажите, пожалуйста, функцию поиска символов в строке по маске.
Игорь Шевченко (2008-05-23 15:05:00) [1]han_malign © (23.05.08 14:10) [4]
> - а не проще TStringList.CommaText/(DelimitedText+Delimiter+QuoteChar)?
Если надо разобрать строку вида 'foo<br>bar<br>bazz' с разделителем '<br>', то не проще.
Reindeer Moss Eater (2008-05-23 14:18:00) [2]TRegExpr.Split
Palladin (2008-05-23 14:15:00) [3]пробелы считает разделителем в независимости от Delimiter... свое писать приходится... а некоторым приходится копировать чужое... )
han_malign (2008-05-23 14:10:00) [4]
> Игорь Шевченко © (23.05.08 12:48) [2]
- а не проще TStringList.CommaText/(DelimitedText+Delimiter+QuoteChar)?
Сергей (2008-05-23 12:53:00) [5]Большое спасибо.
Игорь Шевченко (2008-05-23 12:48:00) [6]Split ?
{
Преобразование строки с разделителями в список строк.
Параметры:
Source - исходная строка.
Delimiter - строка-разделитель.
Parts - список строк, заполняемый функцией. Создается и уничтожается
вызывающей функцией.
}
procedure StrBreakApart(const Source, Delimeter: string; Parts: TStrings);
var
curPos: Integer;
curStr: string;
begin
Parts.Clear;
if Length(Source) = 0 then
Exit;
Parts.BeginUpdate;
try
CurStr:= Source;
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;
Palladin (2008-05-23 12:47:00) [7]нету