Powershell脚本用于汇总字符串中的每个字符

时间:2012-09-07 15:54:46

标签: string parsing powershell character

寻找一种方法来总结字符串中的所有唯一字符,所以如果字符串是:

!#*@&$&$&@^$*%(%&#

脚本将输出

1 ! found

2 # found

2 * found

2 @ found

4 & found

3 $ found

1 ^ found

等。

我找到了很多操纵字符串的方法,但不是这样。任何帮助都会统治! 感谢

1 个答案:

答案 0 :(得分:9)

将字符串分成单独的字符并将它们分组:

PS> '!#@&$&$&@^$%(%&#'.ToCharArray() | Group-Object -NoElement | Sort-Object Count -Descending

Count Name
----- ----
    4 &
    3 $
    2 #
    2 @
    2 %
    1 !
    1 ^
    1 (

如果将结果保存到变量,以后可以使用数组索引获取第一个项目(最常见的字符)(感谢@JNK)。

PS>  $chars = '!#@&$&$&@^$%(%&#'.ToCharArray() | Group-Object ...   
PS>  $chars[0]

Count Name
----- ----
    4 &