Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.02.2011, 11:41
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию Рег выражение

Нужно очищать текст от тегов
решил с помошью рег выражений
Код:
var
RegExp: TRegExpr;
begin
 RegExp := TRegExpr.Create;
 //просто в пример взял этот текст
 RegExp.InputString:= '<b>Погребенный</b> <b>заживо</b> (Buried). Кинопоиск.Ру </a>';
 RegExp.Expression := '>(.*?)<';
 RegExp.Exec;
 ShowMessage(RegExp.Match[1]);
 RegExp.Free;
как мне собственно вынимать текст из тего по идее должно работать так >(.*?)< так как между ними текст

Последний раз редактировалось ALexandr555, 10.02.2011 в 11:51.
Ответить с цитированием
  #2  
Старый 10.02.2011, 12:36
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

А так не проще будет?
Код:
InputString := '<b>Погребенный</b> <b>заживо</b> (Buried). Кинопоиск.Ру </a>';
OutputString := StringReplace(InputString,'<b>','',[rfReplaceAll]);
OutputString := StringReplace(InputString,'</b>','',[rfReplaceAll]);
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 10.02.2011, 13:00
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

я же говрю это пример
Цитата:
//просто в пример взял этот текст
RegExp.InputString:= '<b>Погребенный</b> <b>заживо</b> (Buried). Кинопоиск.Ру </a>';

текст может быть и с другими тегами
Ответить с цитированием
  #4  
Старый 10.02.2011, 15:54
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

<b>(.*?)</b> так например тащит но это определенный тег
Ответить с цитированием
  #5  
Старый 10.02.2011, 19:26
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Код:
var
RegExp: TRegExpr;
text: string;
k: integer;
N: integer;
begin
 RegExp := TRegExpr.Create;
 N:=0;
  RegExp.Expression := '(<.*?>)';
 text:=memo1.text;
 for k:=1 to Length(text) do if(text[k] = '<') then  inc(N);
 for k:=1 to N do
  begin
   RegExp.InputString:= text;
   RegExp.Exec;
   text:= StringReplace(text,RegExp.Match[1],' ',[rfReplaceAll]);
  end;
 ShowMessage(text);
 RegExp.Free;
end;

вобщем вот сделал вроде нормально)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:16.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025