Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.27;
Скачать: CL | DM;

Вниз

Как из ссылки(URL), выделить имя файла?   Найти похожие ветки 

 
Stepper   (2008-04-02 12:25) [0]

Всем привет!

Есть Едит в него введена ссылка: http://mysite.ru/software/myproga.exe

Как из данной строки - получить (пропарсив) имя файла myproga.exe ?


 
Ega23 ©   (2008-04-02 12:27) [1]

Pos, copy + F1


 
Kolan ©   (2008-04-02 12:28) [2]

Лучьше используй рег. выражения. В Delphi для них умные люди написали модуль RegExpr.


 
Stepper   (2008-04-02 12:29) [3]


> Kolan ©   (02.04.08 12:28) [2]


Окей!


> Ega23 ©   (02.04.08 12:27) [1]


Спс!


 
Stepper   (2008-04-02 14:05) [4]

Вот что нашел:

...
 if Pos("http://", URL) > 0 then Delete(Url, 1, 7);
 Result := Copy(Url, 1, Pos("/", Url) - 1);
 if Result = "" then Result := URL + #0;
...


Из строки http://mysite.ru/software/myproga.exe получаем mysite.ru

Кто поможет оптимизировать под мой сабж? Заранее благодарен!


 
Kolan ©   (2008-04-02 14:09) [5]

Можно для такой строки вообще с конца в ч\цикле пройти до первой "/".


 
Reindeer Moss Eater ©   (2008-04-02 14:09) [6]

для начала поиск последнего слэша с помошью StrRScan


 
Семеныч   (2008-04-02 14:10) [7]

> Stepper   (02.04.08 14:05) [4]

Попробуйте:
ExtractFileName(StringReplace(URL, "/", PathDelimiter, [rfReplaceAll]))


 
easy ©   (2008-04-02 14:13) [8]

 while pos("/", s)<>0 do
   delete(s,1,pos("/", s));
 showmessage(s);


 
palva ©   (2008-04-02 14:38) [9]

Надо читать доки.
URL может включать себя: 1) :номер порта 2) #якорь 3) ?параметры&произвольного&вида
Кроме того в URL может отсутствовать имя файла
Так что, вообще говоря, функция должна быть сложной.
Если автору нужен функция для частного случая, тогда он должен написать полную спецификацию этого случая.


 
Stepper   (2008-04-02 21:26) [10]

Реализация:

function DelUrlStr(Url: string): string;
var
 Pos: Integer;
begin
 Pos := Length(Url);
 while Url[Pos] <> "/" do
   Dec(Pos);
  Result := Copy(Url, Pos + 1, Length(Url) - Pos + 1);
end;


Функция корректно возвращает имя файла myproga.exe

А как для сего реализовать?
> palva ©   (02.04.08 14:38) [9]
>
> URL может включать себя: 1) :номер порта 2) #якорь 3) ?параметры&произвольного&вида


 
palva ©   (2008-04-02 22:11) [11]

> А как для сего реализовать?
Как-нибудь так:
Поискать символ # а потом отбросить этот символ и все, что после него следует.
Поискать символ ? а потом отбросить этот символ и все, что после него следует.



Страницы: 1 вся ветка

Текущий архив: 2008.04.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1206972240
jack128_
2008-03-31 18:04
2008.04.27
SQL запрос


3-1196323881
MaShechka
2007-11-29 11:11
2008.04.27
Название колонок что делать???


2-1206873520
vegarulez
2008-03-30 14:38
2008.04.27
Вопрос про Max(Memo1.Lines.Values[i])


2-1207227283
Alex_C
2008-04-03 16:54
2008.04.27
Совместное использование TTable


2-1207050075
exe2k
2008-04-01 15:41
2008.04.27
Copyfile