Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
ВнизДеление String Найти похожие ветки
← →
Ghost! (2002-01-11 18:40) [0]Greetings!
Вопрос:
Есть 3 переменные: a, b, c. Все типа String. Переменная "a" содержит имя и фамилию человека, разделённые тремя проблемаи. Посдкажите плиз, как бы рациональнее сделать так, чтоб выделить в перемнную "b" только имя, а в переменную "c" только фамилию. Буду очень благодарен за помощь.
← →
panov (2002-01-11 18:44) [1]Попробуй функцию WrapText
← →
Юрий Зотов (2002-01-11 19:16) [2]Что-то типа этого:
B := Copy(A, 1, Pos(" ", A) - 1);
C := Copy(A, Length(B) + 4, Length(A) - Length(B) - 3);
← →
Юрий Зотов (2002-01-11 19:17) [3]Или что-то типа этого:
B := Copy(A, 1, Pos(" ", A) - 1);
C := Copy(A, Length(B) + 4, Length(A) - Length(B) - 3);
← →
iZEN (2002-01-11 19:52) [4]Лучше свой компонент написать по парсированию строк и выделению лексем -- иначе для новых задач замучаешься "придумывать" каждый раз с нуля :), а такие задачки встречаются часто.
Уж не знаю, о чём думали разработчики Delphi раз не включили такой нужный компонент(класс) в библиотеку VCL. В Java, например, такой класс есть стандартно, называется java.util.StringTokenizer.
← →
Юрий Зотов (2002-01-11 20:19) [5]Sorry за повтор, но это не мой глюк.
← →
vlv (2002-01-11 20:51) [6]
procedure WrapString(Sourse, Wrapper: String; Strings: TStrings);
var
Ps, Ps2: integer;
Tmp: String;
begin
Tmp := Sourse;
repeat
Ps:= AnsiPos(Wrapper, Tmp);
if Ps = 0 then Ps := Length(Tmp) + 1
else Ps2 := Ps;
Strings.Add(Copy(Tmp, 1, Ps - 1));
Tmp := Copy(Tmp, Ps + Length(Wrapper), Length(Tmp));
until Ps = 0;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c