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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2011, 15:23   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию Как убирать знак ' ?

Всем привет!


Проблема со знаком ' в строке, надо от него избавиться.

Есть строка:
Код:
<a href='http://forums.alliedmods.net/showthread.php?p=54048' target='_blank'>
Нужно вытащить только url :
Код:
function ParseHTMLText(OpenTag, TagsData, CloseTag: string): string;
var
  OTag,
  CTag: Integer;
begin
  Result := '';
  if (OpenTag = '') or (TagsData = '') or (CloseTag = '') then
    Exit;
  OTag := AnsiPos(OpenTag, TagsData);
  if (OTag = 0) then
    Exit
  else
    OTag := OTag + Length(OpenTag);
  TagsData := Copy(TagsData, OTag, Length(TagsData) - OTag + 1);
  CTag := AnsiPos(CloseTag, TagsData);
  if CTag > 0 then
    Result := Copy(TagsData, 1, CTag - 1);
end;
Использую:
Код:
MainForm.sRichEdit1.text:=ParseHTMLText('<td><a href=',TableData,'target=');
выходит:
Код:
'http://forums.alliedmods.net/showthread.php?p=850110'
как на этапе обрезания тегов , обрезать и эти самые ' ?
Человек_Борща вне форума Ответить с цитированием
Старый 29.01.2011, 16:33   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Если однозначно результат в кавычках:
Код:
if Result<>'' then Result:=Copy(Result,2,Length(Result)-2);
если не однозначно то
Код:
if (Result<>'') and (Copy(Result,1,1)='''') then Result:=Copy(Result,2,Length(Result)-1);
if (Result<>'') and (Copy(Result,Length(Result)-1,1)='''') then Result:=Copy(Result,1,Length(Result)-1);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 29.01.2011 в 16:35.
Аватар вне форума Ответить с цитированием
Старый 29.01.2011, 23:34   #3
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Код:
  i := Pos('href',s);
  i := PosEx(#39,s,i)+1;
  url := Copy(s,i,PosEx(#39,s,i)-i);
В uses подключите модуль StrUtils.

Таблица ASCII http://ostermiller.org/calc/ascii.html

Последний раз редактировалось kangreon; 29.01.2011 в 23:39.
kangreon вне форума Ответить с цитированием
Старый 31.01.2011, 13:56   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
MainForm.sRichEdit1.text:=ParseHTMLText('<td><a href='#39,TableData,#39' target=')
кавучку то включай в ненужную часть
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как быстро, сменить знак чисел? valerij Microsoft Office Excel 6 11.03.2013 01:22
Delphi, TMemo: Как автоматически убирать SrollBar? Господин ПэЖэ Помощь студентам 0 22.10.2010 12:55
странный char знак - как убрать ? kakawkin Общие вопросы Delphi 3 15.10.2010 08:32
как убрать знак / в ячейках netoro Microsoft Office Excel 3 25.03.2009 17:38
Есть чат на яваскрипте.не могу поставит знак +;Хотя люди его как то ставят, просто мой знак + заменяется maksim1983 JavaScript, Ajax 4 23.02.2009 07:55