比如edit中分别可能有如下的链接:
http://www.aaa.com
http://bbb.net
https://www.ccc.net.cn 我想在这三种情况下分贝获得结果:showmessage:
aaa
bbb
ccc请教如何写呢?或给个思路方法。
http://www.aaa.com
http://bbb.net
https://www.ccc.net.cn 我想在这三种情况下分贝获得结果:showmessage:
aaa
bbb
ccc请教如何写呢?或给个思路方法。
var
i,j:integer;
str:string;
begin
i:=pos('://www.',httpstr);
if i>0 then
begin
Delete(HttpStr,1,i+6);
result:=copy(HttpStr,1,pos('.',HttpStr)-1);
end else begin
i:=pos('://',HttpStr);
Result:=copy(HttpStr,i+3,pos('.',HttpStr)-i-3);
end;
end;
手边没有D,随手写的,你试试
function GetTexts(AStr: string): string;
begin
AStr := StringReplace(AStr, 'http://www.', '', [rfReplaceAll]); //依次替换不需要的前缀和后缀为空
AStr := StringReplace(AStr, 'http://', '', [rfReplaceAll]);
AStr := StringReplace(AStr, 'https://www.', '', [rfReplaceAll]);
AStr := StringReplace(AStr, '.com ', '', [rfReplaceAll]);
AStr := StringReplace(AStr, '.net ', '', [rfReplaceAll]);
AStr := StringReplace(AStr, '.net.cn', '', [rfReplaceAll]);
AStr := StringReplace(AStr, '其他规则1', '', [rfReplaceAll]);
AStr := StringReplace(AStr, '其他规则2', '', [rfReplaceAll]); //还有其他规则可以自行添加
Result := AStr;
end;[Powered By REDLEGEND]