文字列内のすべての一意の文字を合計する方法を探しているため、文字列が次の場合:
!#*@&$&$&@^$*%(%&#
スクリプトは出力します
1 ! found
2 # found
2 * found
2 @ found
4 & found
3 $ found
1 ^ found
等..
文字列を操作する方法はたくさんありましたが、これはありませんでした。どんな助けも支配するでしょう!ありがとう
文字列内のすべての一意の文字を合計する方法を探しているため、文字列が次の場合:
!#*@&$&$&@^$*%(%&#
スクリプトは出力します
1 ! found
2 # found
2 * found
2 @ found
4 & found
3 $ found
1 ^ found
等..
文字列を操作する方法はたくさんありましたが、これはありませんでした。どんな助けも支配するでしょう!ありがとう
文字列を個別の文字に分割し、それらをグループ化します。
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 &