使用 powershell 删除 URL 列表中的尾随哈希值?

使用 powershell 删除 URL 列表中的尾随哈希值?

我对 PowerShell 有点生疏,并且缺少正确的搜索词,所以我希望在这里提问是可以的。

我有以下结构的 URL 列表:

/pub/pdf/ssm.supervisorymanual.en.pdf?42da4200dd38971a82c2d
/pub/pdf/ssm.supervisorymanual.de.pdf?42da4200dd38971a82c2d
...

在管道中使用 PowerShell {$_.replace("x","y")},我想删除尾随的哈希值,这样我最终得到

/pub/pdf/ssm.supervisorymanual.en.pdf
/pub/pdf/ssm.supervisorymanual.de.pdf
...

作为 RegEx,将x是例如形式\?[0-9a-z]*$并且y将是一个空字符串,但这是不起作用的。

答案1

一个可能简单的解决方案是使用Split()?字符上,仅列出第一个索引,[0]而不是正则表达式,后者是字符之前的部分?

简单示例

"/pub/pdf/ssm.supervisorymanual.en.pdf?42da4200dd38971a82c2d" | % { $_.Split("?")[0] }

输出

/pub/pdf/ssm.supervisorymanual.en.pdf

支持资源

相关内容