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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2012, 09:42   #1
elagin
Пользователь
 
Аватар для elagin
 
Регистрация: 26.05.2007
Сообщений: 64
По умолчанию Ещё один вопрос про парсер текста

Привет, знатоки. Суть:

- Есть текст:
Код:
тра та та ту ту та (<b>ihrrq43</b>)<br /><strong> 179307520</strong> - [ID: 2736 | HEX: 0xab00400]
Необходимо выдрать "тра та та ту ту та", "Id:2736" и "HEX: 0xab00400"

Ну не могу я парсить строки

Заранее благодарен за готовый код =)
elagin вне форума Ответить с цитированием
Старый 31.05.2012, 13:26   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

pos до 1-й ( и pos до первой [. Получишь координаты нужных частей строки. Дальше дело техники, а именно copy
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 31.05.2012, 13:36   #3
alekola
gcc 4.7.1 Opensuse
Пользователь
 
Аватар для alekola
 
Регистрация: 07.03.2012
Сообщений: 22
По умолчанию

Сложно помочь вам с решением так как не понятно, какой логике подчиняются остальные строки.
Но тем не менее могу набросать чуть в помощь
pos - находит позицию символа в строке, возвращает его порядковый номер
delete - удаляет заданное количество символов начиная с переданного
alekola вне форума Ответить с цитированием
Старый 31.05.2012, 13:47   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
delete - удаляет заданное количество символов начиная с переданного
Ему наверно оригинал нужен...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 31.05.2012, 14:40   #5
elagin
Пользователь
 
Аватар для elagin
 
Регистрация: 26.05.2007
Сообщений: 64
По умолчанию

Всем спасибо за подсказки. Разобрался =)
Нашёл интересную функцию (выводит строку от символа и до символа)

Код:
function ParseStr(str, sub1, sub2: string): string;
var
st, fin: Integer;
begin
st := Pos(sub1, str);
if st > 0 then
begin
str := Copy(str, st + length(sub1), length(str) - 1);
st := 1;
fin := Pos(sub2, str);
Result := Copy(str, st, fin - st);
str := Copy(str, fin + length(sub2), length(str) - 1);
end;
Код:
text:=copy(otvet.Text,1,pos('(',otvet.Text)-1);
id:=parsestr(otvet.Text,'[ID: ',' |');
hex:=parsestr(otvet.Text,'HEX: ',']');
elagin вне форума Ответить с цитированием
Старый 31.05.2012, 18:49   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от alekola Посмотреть сообщение
pos - находит позицию символа в строке, возвращает его порядковый номер
Только не символа, а подстроки.
s-andriano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ещё раз про замену точек на запятые НеВа6464 Microsoft Office Excel 1 11.05.2011 12:32
Ещё один вопрос про TWebBrowser Johnson Общие вопросы Delphi 12 31.08.2009 15:06
извините у меня ещё один вопрос помагите пожалуста ilnar Помощь студентам 3 23.05.2009 12:06
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
ещё раз про Random (вдогонку к закрытой теме 'НЕ ПОЙМУ КАК ВЫВИСТИ ЧИСЛО') Serge_Bliznykov Общие вопросы Delphi 1 20.04.2008 12:37