【PowerShell】特定の文字が含まれるかを調べる

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;  # 探す文字列が含まれていない時の処理
}