【问题标题】:PowerShell TrimStart not always workingPowerShell TrimStart 并不总是有效
【发布时间】:2014-12-18 19:28:48
【问题描述】:

我正在尝试修剪字符串的开头,但它并不总是与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\')}

谁能帮我找出修剪字符串开头的最佳方法是什么?

【问题讨论】:

    标签: powershell trim


    【解决方案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

    【讨论】:

    • 太棒了!这确实有效。非常感谢ojk :)
    猜你喜欢
    • 2020-08-16
    • 2014-06-21
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 2015-06-28
    • 2015-12-04
    • 2017-01-08
    相关资源
    最近更新 更多