修剪根到的URL

时间:2012-11-06 20:43:31

标签: delphi

如何在Delphi中完成?例如..

网址= https://mail.google.com/mail/u/0/?tab=wm#inbox

Trimed网址= https://mail.google.com/

由于

3 个答案:

答案 0 :(得分:6)

使用Indy的TIdURI的示例代码可能是:

uses
  IdURI;

function GetProtoAndHost(const URI: string): string;
var
  IdURI: TIdURI;
begin
  IdURI := TIdURI.Create(URI);
  try
    Result := IdURI.Protocol + '://' + IdURI.Host + '/';
  finally
    IdURI.Free;
  end;
end;

答案 1 :(得分:3)

Function GetRoot(const Path:String):String;
var
 i:Integer;
begin
  i := Pos('//',Path);
  if i>0 then
      i := PosEx('/',Path,i+2)
  else i := Pos('/',Path);
  if i=0 then i := Length(Path);

  Result := Copy(Path,1,i);
end;

答案 2 :(得分:2)

查看Indy的TIdURI课程(在“IdURI”单元中)。它是一个URI / URL解析器。您为它提供了一个URL,并将其解析为各种组件。玩弄它,看看它是如何工作的。一旦解析了URL,就可以通过查看主机和协议属性来回答您的特定问题。