компьютерный форум
Вернуться   Компьютерный форум > Программирование и вебстроительство > Программирование

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 06.02.2005, 13:07   #1
Feo
Guest
 
Сообщений: n/a
По умолчанию

Кто знает, как строку типа "http://fuck.ru/mot.zip" преобразовать в "mot.zip"??? :unsure:
Кавычки не считайте за строку. :nono:




 
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
06.02.2005, 13:07
Техник
реклама
По умолчанию

Старый 07.02.2005, 13:28   #2
Пользователи
 
Регистрация: 10.09.2004
Сообщений: 985
По умолчанию

var
str:string;
a:array of integer;
......
str:='http://fuck.ru/mot.zip';
for i:=1 to length(str) do
if str[i]='/' then a:=i;

str:=copy(str,a,(i-a)); // тут результат

Примерно так.
vxk7m вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 08.02.2005, 07:49   #3
ser
Пользователи
 
Регистрация: 14.08.2004
Сообщений: 435
По умолчанию

Код:
 var
str:string;
i:byte; // строка максимум 255 символов в pascal
begin

str:='http://fuck.ru/mot.zip';
i:=length(str);

while str[i]  '/' do dec(i);

str:=copy(str,i,length(str));
end.
Чуть пофиксил с точки зрения алгоритма, скорости нахождения, код vxk7m
P.S.: Давненько я в школе не был, так что ели синтаксические ошибки есть то не
ругайте.
ser вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 09.04.2005, 04:53   #4
Пользователи
 
Регистрация: 08.04.2005
Сообщений: 2
По умолчанию

взято из исходника SysUtils Delphi и чуть приправлено

использовать
ExtractFileName('http://fuck.ru/mot.zip');

Код:
Const 
 *PathDelim *= '/';
 *DriveDelim = *':';

function ExtractFileName(const FileName: string): string;
var
 *I: Integer;
begin
 *I := LastDelimiter(PathDelim + DriveDelim, FileName);
 *Result := Copy(FileName, I + 1, MaxInt);
end; 

function LastDelimiter(const Delimiters, S: string): Integer;
var
 *P: PChar;
begin
 *Result := Length(S);
 *P := PChar(Delimiters);
 *while Result > 0 do
 *begin
 * *if (S[Result]  #0) and (StrScan(P, S[Result])  nil) then
 * * *if (ByteType(S, Result) = mbTrailByte) then
 * * * *Dec(Result)
 * * *else
 * * * *Exit;
 * *Dec(Result);
 *end;
end;
Visp вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Ответ


Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 23:42. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Content Relevant URLs by vBSEO 3.5.0 RC2