繁体   English   中英

如何在PowerShell中分割字符串

[英]How to split a string in PowerShell

这似乎应该很简单,但是我似乎无法弄清楚。 我有一个看起来像这样的字符串:

$string = "blah blah; something"

我要做的就是在分号和空格处将它们分开,但是每当我尝试使用$string.split("; ")分隔时,由于空间的原因,它也会将字符串的前半部分分开。 我假设我可能需要使用Regex,但是并没有很好地掌握它才能完成它。

System.String.Split旨在对您赋予它的字符串中的每个字符进行分割:

PS > $string = "blah blah; something"   
PS > $string.Split('; b')  # This splits on ";", " ", and "b"

lah

lah

something    
PS >

如果要分割诸如"; "类的模式,则应使用-split运算符

PS > $string = "blah blah; something"
PS > $string -split '; '
blah blah
something 
PS > 

简单地在处分割字符串呢; 并修剪多余空格的结果?

PS C:\> $string.split(';') | % { $_.trim()}
blah blah
something

正则表达式当然也可以工作:

[regex]::split($string, ";\s")
blah blah
something

假设在您的特定情况下这无关紧要,您可以删除第二个空格。

$string.Replace("; ", ";").Split(";")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM