【问题标题】:How to split a string in PowerShell如何在 PowerShell 中拆分字符串
【发布时间】:2014-07-27 22:05:39
【问题描述】:
这似乎应该相当简单,但我似乎无法弄清楚。我有一个看起来像这样的字符串:
$string = "blah blah; something"
我只想在分号和空格处将它们分开,但每当我尝试使用$string.split("; ") 进行操作时,它也会因为空格而分开字符串的前半部分。我假设我可能需要使用正则表达式,但没有很好地掌握它才能完成它。
【问题讨论】:
标签:
regex
string
powershell
split
【解决方案1】:
System.String.Split 旨在拆分您给它的字符串中的每个字符:
PS > $string = "blah blah; something"
PS > $string.Split('; b') # This splits on ";", " ", and "b"
lah
lah
something
PS >
如果你想在"; "这样的模式上进行拆分,你应该使用-split operator:
PS > $string = "blah blah; something"
PS > $string -split '; '
blah blah
something
PS >
【解决方案2】:
在; 处简单地拆分字符串并从多余的空格中修剪结果如何?
PS C:\> $string.split(';') | % { $_.trim()}
blah blah
something
正则表达式当然也可以:
[regex]::split($string, ";\s")
blah blah
something
【解决方案3】:
假设在您的特定情况下无关紧要,您可以删除第二个空格。
$string.Replace("; ", ";").Split(";")