C#でプログラミングをしていると、文字列の中に特定の部分文字列が含まれているかどうかを確認したい場面がよくあります。例えば、ユーザーの入力した文字列に特定のキーワードが含まれているかチェックしたり、ログファイルの中から特定の文字列を探したりする際に使用します。そんな時に便利なのが String.Contains
メソッドです。この記事では、C#の String.Contains
メソッドの使い方と活用例について、初心者の方にも分かりやすく解説します。
String.Contains メソッドの基本
String.Contains
メソッドは、文字列内に指定した部分文字列が含まれているかどうかを判定します。このメソッドは bool
型(真偽値)を返し、部分文字列が見つかった場合は true
、見つからなかった場合は false
を返します。
基本的な使い方は次のとおりです:
using System;
class StringContainsExample
{
static void Main()
{
string text = "C#プログラミングは楽しい";
bool containsCSharp = text.Contains("C#");
bool containsJava = text.Contains("Java");
Console.WriteLine($"文字列に「C#」が含まれているか: {containsCSharp}");
Console.WriteLine($"文字列に「Java」が含まれているか: {containsJava}");
}
}
このコードを実行すると、以下のような出力が得られます:
文字列に「C#」が含まれているか: True
文字列に「Java」が含まれているか: False
String.Contains メソッドの活用例
String.Contains
メソッドは、様々な場面で活用できます。以下にいくつかの例を示します。
1. ユーザー入力の検証
ユーザーが入力した文字列に特定のキーワードが含まれているかをチェックする例:
using System;
class UserInputValidationExample
{
static void Main()
{
Console.Write("好きなプログラミング言語を入力してください: ");
string userInput = Console.ReadLine();
if (userInput.Contains("C#", StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("C#が好きなんですね!素晴らしい選択です。");
}
else
{
Console.WriteLine("C#以外の言語を選んだようですね。C#も試してみてください!");
}
}
}
このコードでは、StringComparison.OrdinalIgnoreCase
を使用して大文字小文字を区別せずに検索しています。
2. 配列内の文字列検索
文字列の配列から特定の部分文字列を含む要素を見つける例:
using System;
using System.Linq;
class ArraySearchExample
{
static void Main()
{
string[] fruits = { "りんご", "バナナ", "オレンジ", "いちご", "メロン" };
string searchTerm = "ん";
var matchingFruits = fruits.Where(fruit => fruit.Contains(searchTerm));
Console.WriteLine($"「{searchTerm}」を含む果物:");
foreach (var fruit in matchingFruits)
{
Console.WriteLine(fruit);
}
}
}
この例では、LINQ の Where
メソッドと組み合わせて、配列内の文字列を効率的に検索しています。
注意点
String.Contains
メソッドは大文字と小文字を区別します。大文字小文字を区別せずに検索したい場合は、StringComparison.OrdinalIgnoreCase
を使用するか、文字列をToLower()
またはToUpper()
メソッドで変換してから比較します。null
の文字列に対してContains
メソッドを呼び出すと、NullReferenceException
が発生します。使用前にnull
チェックを行うことをお勧めします。
まとめ
String.Contains
メソッドは、C#で文字列操作を行う際の強力なツールです。文字列内の部分文字列の存在を簡単に確認でき、ユーザー入力の検証やデータの検索など、様々な場面で活用できます。
基本的な使い方は簡単ですが、大文字小文字の区別や null
の扱いには注意が必要です。これらの点に気をつけながら、String.Contains
メソッドを使いこなすことで、より効率的で柔軟な文字列処理が可能になります。
C#プログラミングにおいて文字列操作は頻繁に行われる作業の一つです。String.Contains
メソッドをマスターすることで、より表現力豊かなプログラムを書けるようになるでしょう。
コメント