-1

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

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

该脚本将输出

1 ! found

2 # found

2 * found

2 @ found

4 & found

3 $ found

1 ^ found

ETC..

我发现了很多操作字符串的方法,但不是这个。任何帮助都会统治!谢谢

4

1 回答 1

10

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

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 &
于 2012-09-07T16:00:25.053 回答