如何将字符串转换为数组?

时间:2014-06-26 23:45:38

标签: arrays string powershell

假设我有一个这样的字符串:

$x = "abc"

我想知道,我怎样才能把它变成像("a","b","c") ???

这样的数组

目前我使用的是:

$x -split ""

但是这给了我一个像:("","a","b","c","")这样的数组,在其他数据之前和之后都有一个空元素......

我可以绕过这个$x -split "" -ne "",但这似乎有点奇怪。还有更好的方法吗?

3 个答案:

答案 0 :(得分:4)

您可以使用System.String.ToCharArray方法:

PS > $x = "abc"
PS > $x.ToCharArray()
a
b
c

PS > ($x.ToCharArray()).GetType()

IsPublic     IsSerial     Name     BaseType
--------     --------     ----     --------
True         True         Char[]   System.Array    

答案 1 :(得分:2)

将字符串转换为字符数组可能是最简单的方法:

PS C:\> $x = 'abc'
PS C:\> $x
abc
PS C:\> [char[]]$x
a
b
c

答案 2 :(得分:1)

您还可以使用正则表达式过滤掉字符串的开头和结尾:

PS > $x -split "(?<!(^|$))"
A
B
C
PS >

希望这会有所帮助 / Fridden