【PowerShell】特定の文字が含まれるかを調べる
特定の文字が含まれるかを調べる(IndexOf)
とある文字列に対し、指定した文字がどこにあるかを調べるには「IndexOf」を使用します。
この次に紹介する「Contains」とは次の違いがあります。
IndexOf … 文字があるか調べる+どこにあるか取得できる
Contains … 文字があるかのみ調べられる
# 構文
"チェックしたい文字列".IndexOf("探す文字列")
<# 補足
・文字位置は0から始まる(1文字目にある=0、2文字目にある=1となる)点に注意
・見つからない場合は「-1」が返る
・大文字小文字は区別される
・探す文字列は一文字でなくてもOK
#>
# 例
"English".IndexOf("E") # 0
"English".IndexOf("n") # 1
"English".IndexOf("A") # -1 ※ない場合は「-1」が返る
"English".IndexOf("is") # 4 ※探す文字は一文字でなくてもOK
# IF文の例
if ("English".IndexOf("E") -ge 0){ # "-ge 0":0以上であれば=見つかれば
return $true; # 探す文字列が含まれている時の処理
}else{
return $false; # 探す文字列が含まれていない時の処理
}
特定の文字が含まれるかを調べる(Contains)
とある文字列に対し、指定した文字を含むか調べるには「Contains」を使用します。
# 構文
"チェックしたい文字列".Contains("探す文字列") # True:含む、False:含まない
<# 補足
・大文字小文字は区別される
・探す文字列は一文字でなくてもOK
#>
# 例
"English".Contains("E") # True
"English".Contains("A") # False
"English".Contains("e") # False ※大文字小文字は区別される
"English".Contains("Eng") # True ※探す文字は一文字でなくてもOK
# IF文の例
if ("English".Contains("E") -eq $true){
return $true; # 探す文字列が含まれている時の処理
}else{
return $false; # 探す文字列が含まれていない時の処理
}