分隔字符串,以最后一个斜杠 / 作为标记进行截取,取右边的字符就是 1.exe
var
str:string;
begin
str:='www.baidu.com/text/down/1.exe';
str:=StringReplace(StrRScan(PChar(str),'/'), '/', '',[rfReplaceAll]);
ShowMessage(str);
var
str:string;
begin
str:='www.baidu.com/text/down/1.exe';
str:=StringReplace(StrRScan(PChar(str),'/'), '/', '',[rfReplaceAll]);
ShowMessage(str);
那如果是这种怎么办 kuplay.exe?_upd=palazu_32_26453.exe
var
str:string;
begin
str:='www.baidu.com/text/down/_upd=palazu_32_26453.exe';
str:=StringReplace(StrRScan(PChar(str),'/'), '/', '',[rfReplaceAll]);
if Pos('=',str) > 0 then
str:=StringReplace(StrRScan(PChar(str),'='), '=', '',[rfReplaceAll]);
ShowMessage(str);
var
str:string;
begin
str:='www.baidu.com/text/down/kuplay.exe?_upd=palazu_32_26453.exe';
str:=StringReplace(StrRScan(PChar(str),'/'), '/', '',[rfReplaceAll]);
// 此时 str = 'kuplay.exe?_upd=palazu_32_26453.exe'
if Pos('=',str) > 0 then
// 如果 str 包含 '=' 就再次用 '=' 分隔一次
str:=StringReplace(StrRScan(PChar(str),'='), '=', '',[rfReplaceAll]);
ShowMessage(str); //_upd=palazu_32_26453.exe