仅在角色的第一次出现时分开

时间:2015-07-13 09:14:22

标签: powershell

如果我有像

这样的字符串
foo:bar baz:count

我希望在第一次出现:时拆分并返回一个只包含两个元素的数组:

  • 一个字符串,它是第一个冒号之前的元素。
  • 一个字符串,它是第一个冒号之后的所有内容。

我如何在Powershell中实现这一目标?

2 个答案:

答案 0 :(得分:9)

-split运算符允许您指定要返回的最大子串数:

'foo:bar baz:count' -split ':',2

答案 1 :(得分:1)

使用IndexOf()查找首次出现的':'

从开头拿到子字符串,直到':'

的索引

将剩下的字符串从':'到结尾。

代码:

$foobar = "foo:bar baz:count"
$pos = $foobar.IndexOf(":")
$leftPart = $foobar.Substring(0, $pos)
$rightPart = $foobar.Substring($pos+1)