powershell split仅保留字符串的第2部分

时间:2016-05-27 10:18:36

标签: powershell split

我是PowerShell的新人 我有一个文件包含由" /"分隔的OU路径; 我只想保留每个字符串的第一个元素

示例:

paris/sales/salers/14tharrdt

london/comptability/office1

会给出

paris/sales

london/comptability
我用谷歌搜索了很多东西,但没办法做这件简单的事情

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

您可以使用-split拆分\字符上的字符串,选择前两个元素并将它们连接在一起:

$content = Get-Content 'your_file_path'
$content | foreach {
    ($_ -split '/')[0, 1] -join '/'
}
$content | Set-Content 'your_file_path'

或者,如果您更喜欢在regex使用不带分割的解决方案(demo here):

$content = Get-Content 'your_file_path'
$content | foreach {
    $_ -replace '(.*?\/[^\/]+).*', '$1'
}
$content | Set-Content 'your_file_path'

答案 1 :(得分:1)

像:

$a = "paris/sales/salers/14tharrdt"
$b = $a.Split("/")[0] + "/" + $a.Split("/")[1]
$b

如果调用Split一次并将其保存到变量

,则会有所改进
相关问题