чем можно парсить строку
Модератор: Модераторы
чем можно парсить строку
не нашел почему то сам такую функцию кто знает подскажите, к примеру есть текст '123,3243,dsffgds,123412' вообщем разделеный запятой(сепаратором), нужна функция которая бы парсила строку по сепаратору то есть оригинальную стоку уменьшала на первый текс разделеный запятой и возращала его как текст, и так пока базовая строка не станет пустой
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
ну вот а я сам писал =)
Код: Выделить всё
procedure tmainfo.btPrintFileEx(const sender: TObject);
procedure getvalue(var vStr,vResult: string);
var i: integer;
begin
i := system.pos(';',vStr);
if i < 1 then i := 60;
vResult := copy(vStr,1,i-1);
delete(vStr,1,i);
end;
var f : textfile;
l,b,s,n : string;
begin
if (fd.execute = mr_Ok) and fileexists(fd.controller.filename) then
begin
//BARCODE;NUMBER;SERIA
AssignFile(f,fd.controller.filename);
reset(f);
while not eof(f) do
begin
b := '';
n := '';
s := '';
readln(f,l);
if trim(l) = '' then continue;
getvalue(l,b);
getvalue(l,n);
getvalue(l,s);
end;
end;
end;ExtractWord , подробности в хелпе лазеруса
Alexx2000 писал(а):Модуль StrUtils, функция Copy2SymbDel будет это делать, если использовать её в цикле.
Спасибо всем, подошло
grigoreo
А ещё можно использовать TStringList, поставив ему свойство Delimiter = ',' (т.е. Вашу запятую) и загрузив исходный текст в TStringList.DelimitedText. Тогда в каждой строке TStringList'а будет находится по одному слову.
А ещё можно использовать TStringList, поставив ему свойство Delimiter = ',' (т.е. Вашу запятую) и загрузив исходный текст в TStringList.DelimitedText. Тогда в каждой строке TStringList'а будет находится по одному слову.
