Powershell将一个字符串分成几部分,并将部分放入不同的变量中

时间:2018-01-18 12:56:40

标签: powershell

分割路径的PowerShell脚本   我有如下字符串:

refs/remotes/origin/CS-38123     Shreya Gopal    Mon Jan 8 12:38:20 2018 -0600

我希望PowerShell脚本将上面的字符串放在不同的变量中,如

$ticket = 'refs/remotes/origin/CS-38123'
$author = 'Shreya Gopal'
$time   = 'Mon Jan 8 12:38:20 2018 -0600'

有人可以建议吗

1 个答案:

答案 0 :(得分:0)

假设字符串至少有两个空格分隔票证,作者和时间字段,您可以使用RegEx来解析字符串,然后分配给变量。例如

$string = "refs/remotes/origin/CS-38123     Shreya Gopal    Mon Jan 8 12:38:20 2018 -0600"

$parsed = $string | select-string "(\S+)\s{2,}(.+?)\s{2,}(.+)"

$ticket = $parsed.matches[0].groups[1].value
$author = $parsed.matches[0].groups[2].value
$time   = $parsed.matches[0].groups[3].value

RegEx捕获由2个或更多空格的块分隔的3个部分。

对RegEx的分析:https://regex101.com/r/2Utvyw/1