PowerShell Contains 文字列に指定の文字があるか

PowerShellのContainsで文字列に指定の文字があるか確認するサンプルです。

目次

サンプル 文字列に指定の文字があるか確認する
英字の小文字大文字で判別しないで判定する場合
  Contains演算子で比較する

文字列に指定の文字があるか確認する

文字列.Contains(検索する文字列)
  • 文字列を検索し、検索する文字列が存在したとき(部分一致)はtrueを返します。
  • 一致しないときはfalseを返します。
  • 英字の大文字と小文字は区別します。

文字列に指定の文字があるか確認するサンプルです。

$str1 = "abc"

Write-Output($str1.Contains("a")) # true
Write-Output($str1.Contains("abc")) # true
Write-Output($str1.Contains("ABC")) # false
Write-Output($str1.Contains("X")) # false
Write-Output($str1.Contains("cb")) # false

$str2 = "あいう"

Write-Output($str2.Contains("あ")) # true
Write-Output($str2.Contains("あいう")) # true
Write-Output($str2.Contains("か")) # false
Write-Output($str2.Contains("うい")) # false

文字列に検索する文字列が存在したときはtrueを返します。
存在しないときはfalseを返します。

5行目は、英字の小文字に対して英字の大文字で比較しています。falseになります。

 

英字の小文字大文字で判別しないで判定する場合

$str1 = "abc"

Write-Output($str1.ToUpper().Contains("ABC")) # True

小文字を大文字にするToUpper()、または大文字を小文字にするToLower()を使用します。

 

Contains演算子で比較する

文字列 -Contains 検索する文字列
配列 -Contains 検索する文字列
  • 文字列と一致する文字列が存在したとき(完全一致)はtrueを返します。
    →部分一致はfalseを返します。
  • 一致しないときはfalseを返します。
  • 配列の比較でも使用します。
  • 英字の大文字と小文字を区別しません。
$str1 = "abc"

$str1 -Contains "a" # false
$str1 -Contains "bc" # false
$str1 -Contains "abc" # true
$str1 -Contains "ABC" # true
$str1 -Contains "X" # false
$str1 -Contains "cb" # false

$arr1 =@("red","yellow","blue") #配列を比較する
$arr1 -Contains "yellow" # true
$arr1 -Contains "green" # false

3,4行目は、完全一致でないのでfalseになります。
6行目は、英字の大文字と小文字の違いがありますがtrueになります。
10行目以降は配列の比較です。

関連の記事

PowerShell 大文字と小文字を変換(ToLower/ToUpper)

△上に戻る