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行目以降は配列の比較です。
関連の記事