我正在尝试修剪字符串的开头,但它并不总是与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\')}
谁能帮我找出最好的方法是修剪琴弦的开头吗?
最佳答案
尝试改为使用replace,如下所示:
$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
关于powershell - PowerShell TrimStart并非始终有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26522847/