Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2011, 22:07   #1
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию Пропарсить String

Доброй ночи, у меня возникла заурядица с тем что, в стринге содержится два слова соединёные знаком &, правда после этого знака ещё может слово идти которое мне не нужно, пробывал от этой пакасти избавится так
Код:
 s := 'рано&вылет';
 i1 := (Pos('', s));
s := Copy(s, i1, PosEx('&вылет', s, i1) - i1);
showmessage(s)
но стринг получается пустой, да и ёще, слово 'рано' рандомное. В чём я ошибся?
bulldog5293 вне форума Ответить с цитированием
Старый 28.04.2011, 22:11   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Конечно пустой, посмотри что в качестве первого параметра вы ввели
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 28.04.2011, 22:15   #3
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Так слово 'рано' рандомное, вот я и ввёл '', т.к. больше не знаю как ему объяснить что нада искать с начала слова и до '&вылет'
bulldog5293 вне форума Ответить с цитированием
Старый 28.04.2011, 22:43   #4
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Вопрос снят, нада было так
Код:
 s := 'рано&вылет';
 i1 := (Pos(s, s));
s := Copy(s, i1, PosEx('&вылет', s, i1) - i1);
showmessage(s)
bulldog5293 вне форума Ответить с цитированием
Старый 29.04.2011, 08:55   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
 i1 := (Pos(s, s));
Жесть!!!
В этом случае i1 ВСЕГДА будет равен 1; ВСЕГДА!

попробуйте так:
Код:
 s := 'рано&вылет';
 if Pos('&',s)>1 then
    s := Copy(s, 1, Pos('&',s)-1);
 showmessage(s);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пропарсить страницу alex0097 Фриланс 9 26.03.2011 15:40
Немогу пропарсить значение! DKENT Работа с сетью в Delphi 3 13.02.2011 03:34
String большого размера, более 255 String[255] bitSoft Общие вопросы Delphi 9 28.03.2010 19:45
Как получить адрес String строки или преобразовать String madboy4ik Общие вопросы по Java, Java SE, Kotlin 6 15.01.2010 11:57
Пропарсить стоку регулярными выражениями Altera Свободное общение 9 03.10.2009 23:02