C#で文字列内の単語の出現回数をカウントするプログラム
C#で文字列内の単語の出現回数を数える方法
文字列の中に特定の単語が何回現れるかを調べたい場合、C#ではIndexOfメソッドとループ処理を組み合わせるのが効果的です。ここでは、その基本的な実装方法を解説します。
まず、対象となる文字列を設定します。
string str = "Hello World! Hello!";
次に、「Hello」という単語の出現箇所を検索し、見つかるたびにカウントを増やしながらループ処理を行います。
while ((a = str1.IndexOf(pattern, a)) != -1) {
a += pattern.Length;
count++;
}
仕組みのポイント
IndexOf(pattern, a)は、位置a以降から検索パターン(ここでは「Hello」)を探し、最初に見つかった位置を返します。見つからなかった場合は-1を返すため、戻り値が-1になるまでループを続けることで、すべての出現箇所を数えることができます。
また、a += pattern.Length;によって検索開始位置をパターンの長さ分だけ進めている点も重要です。これにより、同じ箇所を二重にカウントすることを防ぎ、正確な出現回数を取得できます。
サンプルコード
以下のコードを実行すると、文字列内の単語の出現回数をカウントできます。
using System;
class Program {
static void Main() {
string str = "Hello World! Hello!";
Console.WriteLine("Occurrence:"+Check.CheckOccurrences(str, "Hello"));
}
}
public static class Check {
public static int CheckOccurrences(string str1, string pattern) {
int count = 0;
int a = 0;
while ((a = str1.IndexOf(pattern, a)) != -1) {
a += pattern.Length;
count++;
}
return count;
}
}
実行結果
Occurrence:2
この例では、「Hello World! Hello!」という文字列に「Hello」が2回含まれているため、出力は「Occurrence:2」となります。この手法は、ログ解析やテキスト処理など、文字列中のキーワード出現頻度を調べたいさまざまな場面で応用できます。
-
Androidで文字列内の各文字の出現回数をカウントする方法【サンプルコード付き】
この記事では、Androidで文字列内に各文字が何回出現するかをカウントする方法を、実際に動作するサンプルコードとともに解説します。EditTextに入力された文字列を解析し、HashMapを使って各文字の出現回数を集計してTextViewに表示する、シンプルなカウントアプリを作成していきましょう。 ステップ1:Android Studioで新規プロジェクトを作成する まずはAndroid Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。 ステップ2:レイアウトファイル(act
-
【Excel】文字列内の文字・単語の出現回数をカウントする5つの方法
このチュートリアルでは、Excelで特定の文字列やデータ範囲内に含まれる文字や単語の出現回数をカウントする方法を解説します。大量のデータが入力されたセルや範囲の中から、特定の文字が何回登場するのかを調べたい場面はよくあります。本記事では、そんな作業を効率化できる実用的な数式を5つご紹介します。 練習用ワークブックのダウンロード 本記事で使用している練習用ワークブックは、こちらからダウンロードできます。 Excelで文字列内の文字の出現回数を数える5つの方法 1. SUMPRODUCT関数とLEN関数で文字数の合計を求める 1つのセル内の文字数を知りたい場合は、LEN関数だけで十分です。し