C#において文字列の部分一致検索は多くの場面で利用されます。
この記事では、if文を使ったContainsメソッドを利用した部分一致検索と、
switch文を使った正規表現を利用した部分一致検索について解説します。
これらの手法をマスターすることで柔軟で効果的な文字列操作が可能になります。
if文での文字列部分一致はContainsメゾット
C#のif文を使って文字列の部分一致検索を行う際に便利なのが、Containsメソッドです。
これを使用することで、簡潔かつ効率的な部分一致検索が可能です。
string mainString = "C#で文字列の部分一致検索";
string subString = "文字列";
if (mainString.Contains(subString))
{
Console.WriteLine("部分一致が見つかりました!");
}
else
{
Console.WriteLine("部分一致は見つかりませんでした。");
}
この例では、mainStringがsubStringを含むかどうかを判定しています。
含まれている場合は「部分一致が見つかりました!」と表示され、
そうでない場合は「部分一致は見つかりませんでした。」と表示されます。
switch文の部分一致は正規表現
正規表現を利用することで、より柔軟で複雑な部分一致検索が可能です。
switch文と組み合わせて、異なるパターンに対する処理を行うことができます。
string inputString = "C#は楽しい";
string pattern = "楽.*い"; // 正規表現パターン
switch (true)
{
case bool match when System.Text.RegularExpressions.Regex.IsMatch(inputString, pattern):
Console.WriteLine("パターンに一致しました!");
break;
default:
Console.WriteLine("一致するパターンは見つかりませんでした。");
break;
}
この例では、inputStringが正規表現のpatternに一致するかどうかを判定しています。
一致する場合は「パターンに一致しました!」と表示され、
そうでない場合は「一致するパターンは見つかりませんでした。」と表示されます。
実践例
using System;
class Program
{
static void Main()
{
// if文とContainsメソッドを利用した部分一致検索
Console.WriteLine("=== if文とContainsメソッド ===");
string mainStringIf = "C#でif文Containsメゾットを利用して文字列の部分一致検索";
string subStringIf = "部分一致";
if (mainStringIf.Contains(subStringIf))
{
Console.WriteLine("部分一致が見つかりました!");
}
else
{
Console.WriteLine("部分一致は見つかりませんでした。");
}
// switch文と正規表現を利用した部分一致検索
Console.WriteLine("\n=== switch文と正規表現 ===");
string inputStringSwitch = "C#で正規表現を利用して部分一致検索";
string patternSwitch = "正規.*検索";
switch (true)
{
case bool matchSwitch when System.Text.RegularExpressions.Regex.IsMatch(inputStringSwitch, patternSwitch):
Console.WriteLine("パターンに一致しました!");
break;
default:
Console.WriteLine("一致するパターンは見つかりませんでした。");
break;
}
}
}
この実践例では、if文とContainsメソッドを使った部分一致検索と、
switch文と正規表現を使った部分一致検索の2つの手法を組み合わせています。
まとめ
C#において、if文とContainsメソッド、switch文と正規表現を利用した文字列の部分一致検索について解説しました。
Containsメソッドはシンプルで直感的な部分一致検索に適しています。
一方で、正規表現を使うことでより高度なパターンに対応できます。
どちらの手法も、適切な場面で使い分けることが重要です。
これらの手法をマスターして、効率的な文字列操作ができるようになりましょう。