[.NET クラスライブラリ Tips][String] 指定した文字列が含まれているかを調べる

スポンサーリンク

本記事の概要

この記事では、ある文字列の中に指定した文字列が含まれているかを調べる方法について説明します。

公式サイト情報はコチラを参照してください。

指定した文字列が含まれているかを調べる Contains メソッドの基本

Contains メソッドを使用すると、指定した文字列が含まれているかを調べることができます。

以下に Contains メソッドのオーバーロードを示します。いずれも、指定した文字列(文字)が含まれている場合は true を返します。

bool = Contains(String)
bool = Contains(Char)
bool = Contains(Char, StringComparison)

任意の文字列が含まれているかを調べる例

以下は「Hello, .NET 6」という文字列の中に「NET」という文字列が含まれているかを調べる例です。

「NET」という文字列は含まれていますので、結果として「文字列「NET」 が含まれます」が表示されます。

string strMsg = "Hello, .NET 6";

if (strMsg.Contains("NET"))
{
    Console.WriteLine("文字列「NET」 が含まれます");
}
else
{
    Console.WriteLine("文字列「NET」 は含まれません");
}

任意の文字が含まれているかを調べる例

以下は「Hello, .NET 6」という文字列の中に「.」という文字(char)が含まれているかを調べる例です。

「.」という文字は含まれていますので、結果として「文字「.」 が含まれます」が表示されます。

string strMsg = "Hello, .NET 6";

if (strMsg.Contains('.'))
{
    Console.WriteLine("文字「.」 が含まれます");
}
else
{
    Console.WriteLine("文字「.」 は含まれません");
}

大文字/小文字を区別せずに任意の文字が含まれているかを調べる例

Contains(Char, StringComparison) を使用すると、大文字/小文字を区別せずに任意の文字が含まれているかどうかを調べることができます。第2引数の StringComparision には以下表の値をしていすることが出来ます。大文字/小文字を区別しない場合は、CurrentCultureIgnoreCase を指定します。

説明
CurrentCulture カルチャに依存した並べ替え規則と、現在のカルチャを使用して、文字列を比較します。
CurrentCultureIgnoreCase カルチャに依存した並べ替え規則と、現在のカルチャを使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。
InvariantCulture カルチャに依存した並べ替え規則と、インバリアント カルチャを使用して、文字列を比較します。
InvariantCultureIgnoreCase カルチャに依存した並べ替え規則と、インバリアント カルチャを使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。
Ordinal 序数 (バイナリ) の並べ替え規則を使用して文字列を比較します。
OrdinalIgnoreCase 序数 (バイナリ) の並べ替え規則を使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。

以下は、すべて小文字の「net」という文字列が含まれているかを調べますが、CurrentCultureIgnoreCase を指定することで、大文字と小文字が同一視されるので「文字列「net」 を表示します。

string strMsg = "Hello, .NET 6";

if (strMsg.Contains("net", StringComparison.CurrentCultureIgnoreCase))
{
    Console.WriteLine("文字列「net」 が含まれます");
}
else
{
    Console.WriteLine("文字列「net」 は含まれません");
}
Please follow and like us:

コメント

タイトルとURLをコピーしました