powershell拆分只保留字符串的前两部分

powershell拆分只保留字符串的前两部分,powershell,split,Powershell,Split,我是新来的 我有一个文件,其中包含以“/”分隔的OU路径 我只想保留每个字符串的2个第一个元素 例如: paris/sales/salers/14tharrdt london/comptability/office1 会给 paris/sales london/comptability 我在谷歌上搜索发现了很多东西,但没有办法做到这一点 感谢您的帮助如: $a = "paris/sales/salers/14tharrdt" $b = $a.Split("/")[0] + "/" + $

我是新来的 我有一个文件,其中包含以“/”分隔的OU路径 我只想保留每个字符串的2个第一个元素

例如:

paris/sales/salers/14tharrdt

london/comptability/office1
会给

paris/sales

london/comptability
我在谷歌上搜索发现了很多东西,但没有办法做到这一点

感谢您的帮助

如:

$a = "paris/sales/salers/14tharrdt"
$b = $a.Split("/")[0] + "/" + $a.Split("/")[1]
$b
如果调用Split一次并将其保存到变量中,则会有改进,如:

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

如果调用Split一次并将其保存到一个变量中,您可以使用
-Split
拆分
\
字符上的字符串,选择前两个元素并将它们连接在一起:

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

或者,如果您更喜欢在此处使用
regex
一个不带拆分()的解决方案:


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

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

或者,如果您更喜欢在此处使用
regex
一个不带拆分()的解决方案:


无需将其存储在变量中,因为您可以执行
$a.Split(“/”[0,1]-连接“/”
;-)是的,我在犹豫是否从您的答案中复制它:)不需要将其存储在变量中,因为您可以执行
$a.Split(“/”[0,1]-连接“/”
;-)是的,我在犹豫是否从你的答案中复制它:)我喜欢easy scalable/modifiable
($-split'/')[0..1]-join'/')
我喜欢easy scalable/modifiable
($-split'/')[0..1]-join'/')