Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизКак поделить строку Найти похожие ветки
← →
san6 © (2006-02-06 12:00) [0]Че т у меня ничего не получается, надо исходную строку поделить на две, т. е. имеется например строка "фывап@sdfg". Из нее нужно получить две "фывап" и "sdfg".
У меня пока неработающий вариант
procedure divstring(allstr, leftstr, rightstr: string; idstr: char );
var
i: integer;
begin
i:=1;
while (i < Length(allstr)) do
begin
if (allstr[i] <> idstr) then
leftstr[i]:= allstr[i]
else
begin
i:= i + 1;
while (i < Length(allstr)) do
rightstr[i]:=allstr[i];
end;
i:=i+1;
end;
end;
idstr идентификатор по которому строка разделяется.
Заранее спасибо за ответ.
← →
Sergey13 © (2006-02-06 12:03) [1]Pos и Copy
← →
erika © (2006-02-06 12:09) [2]используй функции pos и copy
если у тебя в качестве разделителя всегда используется @, то можешь на прямую использовать pos("@",строка), если же символ разделения возможно будет встречаться и другой, осуществи функцию присваивания разделительного символа:
x:="@"; // Вместо @ может быть любой символ тебя интерисующий
if pos(x, строка)<> 0 then begin
st1 := copy(строка,0,pos(x, строка)-1);
st2 := copy(строка,pos(x, строка)-1,length(строка));
end;
← →
umbra © (2006-02-06 12:19) [3]
procedure divstring(allstr : sring; var leftres, rightres: string; idstr: char );
var
i: integer;
begin
i := LastDelimiter(idstr, allstr);
if i = 0 then exit;
Dec(i);
leftres := LeftStr(allstr, i);
i := Length(allstr) - i - 1;
rigtres := RightStr(allstr, i);
end;
← →
san6 © (2006-02-06 12:20) [4]Спасибо, сейчас попробую.
← →
san6 © (2006-02-06 12:51) [5]Урра, получилось. Через copy, pos
← →
ViktorZ © (2006-02-06 20:54) [6]а в Делфях нет такой аналога Split как в VB?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c