PowerShell: 文字列を1文字ずつ分割して配列に格納 ToCharArray
PowerShellで文字列を1文字ずつ分割して配列に格納したい場合、
ToCharArrayメソッドを使用します。
文字列を特定の区切り文字で分割する場合はSplitメソッドを使用しますが、
1文字ずつ分割する場合はToCharArrayを使います。
(関連記事:
文字列を区切り文字で分割する Split)
ToCharArrayメソッドの書式は次の通りです。
書式
文字列.ToCharArray([開始位置] [, 文字数])
戻り値は1文字ずつ分割された配列です。
第1引数は分割開始位置を指定し、先頭は0です。
マイナスの値を指定するとエラーになります。
第2引数は分割文字数を指定します。
第1引数・第2引数は共に省略可能で、
引数を省略した場合は全ての文字を分割します。
次のサンプルコードでは、ToCharArrayメソッドを使って 文字列を1文字ずつ分割し、配列の内容をforeach文で表示しています。 引数には何も指定していないためすべての文字が分割対象となります。
$s = "abcde" $arr = $s.ToCharArray() foreach ($v in $arr) { Write-Host $v } # 実行結果 a b c d e
次は引数で分割の開始位置と文字数を指定しています。 開始位置に1を指定した場合は2文字目からになります。
$s = "abcde" $arr = $s.ToCharArray(1, 3) foreach ($v in $arr) { Write-Host $v } # 実行結果 b c d
参考サイト
String.ToCharArray メソッド (System) | Microsoft Docs