Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Парсинг строки


Автор: Maxmax 21.2.2006, 17:44
Здравствуйте, уважаемые профессионалы!
Я в Дельфи совсем недавно, не пинайте, если вопрос слишком примитивенsmile

У меня есть строка из цифровых символов "12345678", безо всяких разделителей, надо разобрать ее так, что бы в переменную А был помещен 1 и 2-ой символ, в В помещен 3 и 4-ый, в С соответственно 5,6,7,8-ой символы.
Искал готовые примеры, но все, что есть, касалось разбора строк с разделителями, а в моем случае их нет. Поможет кто-нибудь?

Автор: _hunter 21.2.2006, 17:57
для этого у строки есть метод SubStr()
первый параметр -- индекс, второй -- число символов

Автор: Maxmax 21.2.2006, 19:14
А простой пример можно?

Автор: _hunter 21.2.2006, 19:41
пожалуйста:
a := b.SubStr(1, 2);

Автор: Maxmax 21.2.2006, 20:23
После 'b.' пишется 'Record, object or class type required'

Автор: Snowy 21.2.2006, 20:47
Блин, детский сад.
Код

var
  s, a, b, c: string;
begin
  s := '12345678';
  a := copy(s, 1, 2);
  b := copy(s, 3, 2);
  c := copy(s, 5, 4);
end;

Автор: SydNey 21.2.2006, 20:48
Цитата(Maxmax @ 21.2.2006, 21:23)
После 'b.' пишется 'Record, object or class type required'

Ну дак все правильно, нет такого метода в delphi smile

Автор: SoWa 21.2.2006, 20:51
Ну вот, Snowy опередил.
Функция Copy(s: string; a,b: integer;): string;
копирует из строки s строку, начальным символом которой является a-ый по счету символ в исходной строке и длинной b.
Итак, если ты пишешь: a:=copy(s,1,2);
то в переменную a заносится подстрока строки s начинающаяся с символа номер 1 и длинною 2 символа.

Автор: Maxmax 21.2.2006, 20:58
Люди, чего вы нервничаете, я ж сразу сказал, что чайник.
За пример спасибо.
Добавлено @ 21:12
SoWa, ага, я понял, еще раз спасибо большущееsmile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)