PowerShell TrimStart并不总是有效

时间:2014-10-23 07:03:49

标签: powershell trim

我正在尝试修剪字符串的开头,但它并不总是与TrimStart()一起正常工作。在下面的第一个例子中它工作正常,但在第二个例子中它没有。

正确的结果:

$Array = 'C:\Users\boblee\AppData\Local\Temp\2\Beez\ISO\ISO\Environnement',
'C:\Users\boblee\AppData\Local\Temp\2\Beez\ISO',
'C:\Users\boblee\AppData\Local\Temp\2\Beez\ISO\Achat'
$Array | % {$_.TrimStart('C:\Users\boblee\AppData\Local\Temp\2')}

错误的结果:

$Array = 'S:\Test\Bob\Out_Test\Beez\ISO\ISO\Environnement',
'S:\Test\Bob\Out_Test\Beez\ISO',
'S:\Test\Bob\Out_Test\Beez\ISO\Achat'
$Array | % {$_.TrimStart('S:\Test\Bob\Out_Test\')}

任何人都可以帮我找出修剪琴弦开头的最佳方法吗?

1 个答案:

答案 0 :(得分:1)

尝试使用替换,如下所示:

$string = 'S:\Test\Bob\Out_Test\Beez\ISO\ISO\Environnement'
$string.Replace('S:\Test\Bob\Out_Test\','')

trimstart不起作用的原因是因为它没有像你期望的那样工作。您提供的输入不是字符串,而是字符数组。

您可以在此处详细了解:http://msdn.microsoft.com/en-us/library/system.string.trimstart(v=vs.110).aspx