PowerShell Trim() 的问题,它还删除了反斜杠前的字母

Problem with PowerShell Trim() which also trims off a letter before a backslash

我在 PowerShell 中遇到 .Trim() 问题。

所以,这是我的脚本行。

$path = 'C:\Projects190412_Release111.22.S2.FP\PowerShell'
$trimpath = $path.Trim('\PowerShell')
Write-Host $trimpath

当trim将“\Powershell”关闭路径时,输出应为:

C:\Projects190412_Release111.22.S2.FP

但实际输出是:

C:\Projects190412_Release111.22.S2.F

'20190412_Release111.22.S2.F' 的文件夹名称中缺少 'P',我想知道 .trim() 是否具有可变长度条件这就是为什么它也 trim 关闭 'P'。

当您将字符传递给 Trim function 时,它将 trim 任何符合该模式的字符串。

它正在从您的路径中删除 'p',因为您传递给它的输入字符串中有一个 'p'。如果您出于某种原因在单词 "PowerShell" 之前有多个 'P',它也会删除所有这些:

$path = 'C:\Projects190412_Release111.22.S2.FPPPPPP\PowerShell'
$trimpath = $path.trim('\PowerShell')
# trimpath is 'C:\Projects190412_Release111.22.S2.F'

在这种情况下,我认为 $trimpath = $path.Replace('\PowerShell', '') 更合适。