![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разделители [D7, XP]
lobach © (2007-05-03 12:20:00)Подскажите, как разделить строку типа
stroka1:::stroka2:::stroka3
на 3 строки, чтобы ::: был разделителем
redlord (2007-05-03 21:50:00) [1]главное чтоб ':::' не был частью одной из трех строк
Anatoly Podgoretsky (2007-05-03 20:33:00) [2]> lobach (03.05.2007 12:20:00) [0]
StringReplace
umbra (2007-05-03 13:09:00) [3]В конец процедуры добавить строку
dst.Add(Copy(src, start, Length(src) - start + 1));
Virgo_Style (2007-05-03 13:04:00) [4]Lobach © (03.05.07 12:46) [2]
> pos
Зараннее не известно какой длинны строки
Потому и pos (или posEx).
umbra (2007-05-03 12:48:00) [5]
procedure Split(delim, src: String; dst: Tstrings);
var
start, ends: Integer;
begin
dst.Clear;
start := 1;
ends := PosEx(delim, src, start);
while ends > 0 do
begin
dst.Add(Copy(src, start, ends - start));
start := ends + Length(delim);
ends := PosEx(delim, src, start);
end;
end;
Lobach (2007-05-03 12:46:00) [6]
> pos
Зараннее не известно какой длинны строки, известно что их 3 и что ::: их разделяет
Virgo_Style (2007-05-03 12:40:00) [7]pos, copy/delete