C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で文字列内の各文字の出現回数をカウントする方法

C#では、文字列に含まれる各文字が何回出現するかを簡単にカウントできます。本記事では、while文・for文・Replaceメソッドを組み合わせて、各文字の出現回数を求めるプログラムの作成方法を解説します。

手順1:対象となる文字列を設定する

まず、カウント対象となる文字列を用意し、コンソールに表示します。

string str = "Website";
Console.WriteLine("String: "+str);

手順2:各文字の出現回数をカウントする

次に、文字列内のすべての文字を順番に走査し、先頭の文字(str[0])と一致した回数をカウントする変数をインクリメントします。

for (int j = 0; j < str.Length; j++) {
   if (str[0] == str[j]) {
      cal++;
   }
}

サンプルコード

以下のコードを実行すると、文字列内の各文字の出現回数を確認できます。

using System;
public class Demo {
   public static void Main() {
      string str = "Website";
      Console.WriteLine("String: "+str);
      while (str.Length > 0) {
         Console.Write(str[0] + " = ");
         int cal = 0;
         for (int j = 0; j < str.Length; j++) {
            if (str[0] == str[j]) {
               cal++;
            }
         }
         Console.WriteLine(cal);
         str = str.Replace(str[0].ToString(), string.Empty);
      }
      Console.ReadLine();
   }
}

実行結果

String: Website
W = 1
e = 2
b = 1
s = 1
i = 1
t = 1

処理の流れの解説

このプログラムは、以下の流れで動作します。

  1. whileループ: 文字列が空になるまで処理を繰り返します。
  2. 先頭文字の取得: 毎回、文字列の先頭文字(str[0])を取り出して表示します。
  3. カウント処理: forループで文字列全体を走査し、先頭文字と一致する文字の個数をカウントします。
  4. 文字の削除: カウント結果を出力した後、Replaceメソッドを使ってその文字を文字列からすべて削除します。

この「カウント後に削除する」仕組みにより、同じ文字が二重にカウントされることを防ぎ、各文字の出現回数を正確に一度だけ表示できるのがポイントです。なお、比較は大文字・小文字を区別するため、「W」と「w」は別の文字として扱われます。

  1. Androidで文字列内の各文字の出現回数をカウントする方法【サンプルコード付き】

    この記事では、Androidで文字列内に各文字が何回出現するかをカウントする方法を、実際に動作するサンプルコードとともに解説します。EditTextに入力された文字列を解析し、HashMapを使って各文字の出現回数を集計してTextViewに表示する、シンプルなカウントアプリを作成していきましょう。 ステップ1:Android Studioで新規プロジェクトを作成する まずはAndroid Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。 ステップ2:レイアウトファイル(act

  2. 【Excel】文字列内の文字・単語の出現回数をカウントする5つの方法

    このチュートリアルでは、Excelで特定の文字列やデータ範囲内に含まれる文字や単語の出現回数をカウントする方法を解説します。大量のデータが入力されたセルや範囲の中から、特定の文字が何回登場するのかを調べたい場面はよくあります。本記事では、そんな作業を効率化できる実用的な数式を5つご紹介します。 練習用ワークブックのダウンロード 本記事で使用している練習用ワークブックは、こちらからダウンロードできます。 Excelで文字列内の文字の出現回数を数える5つの方法 1. SUMPRODUCT関数とLEN関数で文字数の合計を求める 1つのセル内の文字数を知りたい場合は、LEN関数だけで十分です。し