[C#]文字列内の指定文字カウント!文字列検索で単語の重複個数を取得する

画像C#
広告

C#において文字列内で特定の単語を検索しその出現回数を数えることはよく行われます。

本記事では初心者向けにC#を使用した文字列の単語検索とカウント方法について解説します。

基本的な手法を分かりやすく紹介しますのでぜひ実践してみてください。

広告

文字列検索で文字列内の指定文字カウント

C#で文字列内の単語を検索し、カウントする基本的な手法は以下の通りです。

string inputText = "C#はC言語に基づいたプログラミング言語です。C#は.NETフレームワーク上で動作します。";
string targetWord = "C#";

int count = 0;
int index = inputText.IndexOf(targetWord);

while (index != -1)
{
    count++;
    index = inputText.IndexOf(targetWord, index + 1);
}

Console.WriteLine($"\"{targetWord}\"は{count}回出現します。");
// Output: "C#"は2回出現します。

このコードでは、IndexOfメソッドを使用して単語の検索を行い、見つかった場合はcountを増やしています。

これを単語が見つからなくなるまで繰り返すことで、単語の出現回数をカウントしています。

文字列から複数単語の重複個数を取得する

複数の単語を検索する場合、Splitメソッドを使用して文字列を単語ごとに分割し、

その後単語ごとに検索してカウントします。

string inputText = "C#はC言語に基づいたプログラミング言語です。C#は.NETフレームワーク上で動作します。";
string[] targetWords = { "C#", ".NET", "プログラミング" };

int totalCount = 0;

foreach (var targetWord in targetWords)
{
    int count = 0;
    int index = inputText.IndexOf(targetWord);

    while (index != -1)
    {
        count++;
        index = inputText.IndexOf(targetWord, index + 1);
    }

    Console.WriteLine($"\"{targetWord}\"は{count}回出現します。");
    totalCount += count;
}

Console.WriteLine($"総合計は{totalCount}回です。");
 
// Output: "C#"は2回出現します。 
// Output: ".NET"は1回出現します。 
// Output: "プログラミング"は1回出現します。
// Output:総合計は4回です。

このコードでは、targetWordsに検索したい単語を配列として指定し、

foreachループで各単語の検索とカウントを行います。

広告

まとめ

C#を使った文字列の単語検索とカウントは、IndexOfメソッドを上手に利用することで簡単に実装できます。

単語ごとに検索してカウントする基本的な手法を学び、必要に応じて複数の単語を効率的に検索する方法も紹介しました。

是非、実際のプログラムで試してみてください。

C#
ガマくんをフォローする
広告
広告
塩竈Code
タイトルとURLをコピーしました