PowerShell中如何提取路径最后一个/后的字符串?
在PowerShell中提取路径最后一个
/后的字符 假设你的变量定义是:
$sitePath = "/sites/testprojectsite/SitePages"
这里有几种简单直接的实现方式:
- 方法一:使用字符串Split方法
通过/分割字符串,取分割后数组的最后一个元素:
$lastSegment = $sitePath.Split('/')[-1] # 输出结果:SitePages
如果路径末尾可能带有/(比如/sites/testprojectsite/SitePages/),可以过滤掉分割产生的空元素:
$lastSegment = $sitePath.Split('/', [System.StringSplitOptions]::RemoveEmptyEntries)[-1]
- 方法二:使用正则表达式替换
用正则匹配最后一个/之前的所有内容,替换为空字符串:
$lastSegment = $sitePath -replace '.*/', ''
这个方法不管路径末尾有没有/,都能正确提取目标内容。
- 方法三:调用.NET的Path类方法
利用System.IO.Path.GetFileName方法自动提取路径最后一段:
$lastSegment = [System.IO.Path]::GetFileName($sitePath)
注意:如果路径末尾是/,这个方法会返回空字符串,需要提前处理末尾的斜杠。
内容的提问来源于stack exchange,提问作者John John
相关产品推荐
相关产品推荐

