You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需硬编码,如何提取URL的协议与域名部分?

无需硬编码提取URL根域名的方法

我有如下URL:https://www.example.com/oauth/connect/token,希望仅提取其中的https://www.example.com。我尝试过多种方法,但均需硬编码多个/,例如:$Url.Split('/')[0] + "//" + $url.split('/')[2]。请问是否存在无需硬编码的实现方式?

直接用PowerShell内置的[Uri]类型处理是最优解,它会自动解析URL结构,完全不需要手动分割字符串硬编码斜杠:

方法一:使用GetLeftPart方法

$url = "https://www.example.com/oauth/connect/token"
$parsedUri = [Uri]$url
$rootUrl = $parsedUri.GetLeftPart([System.UriPartial]::Authority)
# 输出结果:https://www.example.com

方法二:拼接Scheme和Authority属性

也可以直接访问[Uri]对象的属性拼接根URL:

$url = "https://www.example.com/oauth/connect/token"
$parsedUri = [Uri]$url
$rootUrl = "$($parsedUri.Scheme)://$($parsedUri.Authority)"
# 输出结果同样是:https://www.example.com

这两种方式依赖.NET的Uri类对URL的标准化解析,不管URL是HTTP/HTTPS协议,还是包含端口号(比如https://www.example.com:8080/path),都能准确提取根域名部分,比手动分割字符串更可靠,彻底避免硬编码问题。

内容的提问来源于stack exchange,提问作者qwerty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:55:23