比如edit中分别可能有如下的链接:
http://www.aaa.com
http://bbb.net
https://www.ccc.net.cn 我想在这三种情况下分贝获得结果:showmessage:
aaa
bbb
ccc请教如何写呢?或给个思路方法。

解决方案 »

  1.   

    function GetStr(HttpStr:string):string;
    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,随手写的,你试试
      

  2.   

    太容易了,我给做个函数如下:
    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]