説明 | splitとは(文字列を分割して配列にする) |
サンプル | カンマで区切る |
半角スペースで区切る | |
タブで区切る | |
正規表現で区切り文字をORで指定 | |
末尾が区切り文字の時、最後は要素になる? |
splitとは(文字列を分割して配列にする)
変数 = 文字列.split("区切り文字") |
変数 = 文字列 -split "区切り文字" |
- splitは、文字列を分割して配列を返します。
- 引数は、区切り文字の場合は文字列を区切り文字で区切ります。
正規表現の場合は文字列を正規表現で区切ります。
カンマで区切る
$str = "a,b,c"
$arr = $str.split(",")
foreach ($a in $arr) {
Write-Host $a # a b c
}
Write-Host ("1=" + $arr[0]) # a
Write-Host ("2=" + $arr[1]) # b
Write-Host ("3=" + $arr[2]) # c
文字列をカンマで区切って配列にしています。
半角スペースで区切る
$str = "a b c"
$arr = $str.split(" ")
Write-Host ("1=" + $arr[0]) # a
Write-Host ("2=" + $arr[1]) # b
Write-Host ("3=" + $arr[2]) # c
文字列を半角スペースで区切って配列にしています。
タブで区切る
$str = Get-Content "d:\test3\test1.txt" # a b c(タブ区切り)
$arr = $str.split("`t")
Write-Host ("1=" + $arr[0]) # a
Write-Host ("2=" + $arr[1]) # b
Write-Host ("3=" + $arr[2]) # c
タブは`tで表します。
正規表現で区切り文字をORで指定
正規表現で区切り文字をコロン(:)とカンマ(,)にします。
$str = "1:a,2:b,3:c"
$arr = $str -split "[,:]"
Write-Host ("1=" + $arr[0]) # 1
Write-Host ("2=" + $arr[1]) # a
Write-Host ("3=" + $arr[2]) # 2
Write-Host ("4=" + $arr[3]) # b
Write-Host ("5=" + $arr[4]) # 3
Write-Host ("6=" + $arr[5]) # c
[,:]は、カンマ(,)またはコロン(:)という正規表現です。
末尾が区切り文字の時、最後は要素になる?
$str = "a,b,c,"
$arr = $str.split(",")
Write-Host ($arr.Length) # 4
1行目は、末尾が区切り文字のカンマで終わっています。
この場合、区切り文字の後は空文字の要素になります。
関連の記事