如何在 Delphi 中做到这一点?例如..
网址 = https://mail.google.com/mail/u/0/?tab=wm#inbox
修剪的 URL = https://mail.google.com/
谢谢
如何在 Delphi 中做到这一点?例如..
网址 = https://mail.google.com/mail/u/0/?tab=wm#inbox
修剪的 URL = https://mail.google.com/
谢谢
使用 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;
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;
看看TIdURI
Indy 的类(在 `IdURI' 单元中)。它是一个 URI/URL 解析器。你给它一个 URL,它把它解析成各种组件。玩弄它,看看它是如何工作的。一旦解析了 URL,就可以通过查看 Host 和 Protocol 属性来回答您的特定问题。