PowerShellで、ある文字列に指定した文字列が含まれているかをチェックする方法を解説します。
また、文字列が含まれている場合と含まれていない場合で実行する処理を変更するスクリプトもご紹介します。
文字列が含まれているかチェックする
ある文字列に、指定した文字列が含まれているかをチェックする方法を説明します。
書式
"チェックされる文字列".contains("チェックする文字列")
サンプル
文字列「あいうえお」に、文字列「うえ」が含まれているかをチェックするサンプルです。
以下の場合、文字列「うえ」が、含まれているので「True」が返されます。
PS C:\ws> "あいうえお".contains("うえ") True
文字列「あいうえお」に、文字列「かこ」が含まれているかをチェックするサンプルです。
以下の場合、文字列「かこ」は、含まれていないので「False」が返されます。
PS C:\ws> "あいうえお".contains("かこ") False
変数を使用した例
変数に格納した文字列をチェックすることも出来るので、説明したいと思います。
例として、変数[str1]に「あいうえお」を格納し、変数[str2]に「あい」を格納します。
その状態で、str1 に str2 が含まれているかをチェックしてみます。
PS C:\ws> $str1 = "あいうえお" PS C:\ws> $str2 = "あい" PS C:\ws> $str1.contains($str2) True
実行結果が「True」となっているので、正しく判定されていることが分かります。
では、変数[str2]に「かき」を格納して、チェックしてみます。
PS C:\ws> $str1 = "あいうえお" PS C:\ws> $str2 = "かき" PS C:\ws> $str1.contains($str2) False
実行結果が「False」となっているので、こちらも正しく判定されていますね。
上記より、変数同士でも「contains」を使用することで、文字列が含まれているかをチェック出来ることが分かります。
文字列が含まれている(いない)で条件分岐
文字列が含まれている場合と、含まれていない場合で、条件分岐を行い、実行する処理を分けるスクリプトをご紹介します。
こちらのスクリプトは、文字列が含まれている場合は「文字列は含まれています。」と表示し、
含まれていない場合は「文字列は含まれていません。」と表示するだけの簡単なスクリプトです。
# チェックされる文字列 $str1 = "あいうえお" # チェックする文字列 $str2 = "あい" if ($str1.contains($str2)) { echo "文字列は含まれています。" } else { echo "文字列は含まれていません。" } pause
このように「contains」を使うことで、文字列が含まれているかを簡単に判定出来るので、しっかり覚えておきましょう。
コメント