• ベストアンサー

C# 特定文字の数を調べる方法を教えてください。

全体で何文字あるか?ではなく、たとえば、下のような場合、 「P」の文字数はいくつか?というのをコンソールウインドウに 表示できるようにしたいのです。 public static void Main() {  string str= "ABCDEFGGHIJJJKLMNOOPPPPQRSTUUVWXYZ";  {  Console.WriteLine(     + "文字です。");  } }

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

class Program {  public static void Main() {   string str= "ABCDEFGGHIJJJKLMNOOPPPPQRSTUUVWXYZ";   int noOfP = System.Array.FindAll(str.ToCharArray(), delegate (char x) { return x == 'P';}).Length;   System.Console.WriteLine( "{0}文字です。", noOfP);  } } # ところでここのカテゴリはC#ではありません。

reokun5785
質問者

お礼

ありがとうございます。 Lengthを使うという漠然としたイメージしかなかったので、 すっきりしました。 さっそく挑戦してみます。 すいませんカテゴリを間違えてしまいました。

reokun5785
質問者

補足

ちなみにですが、下記のようなテキストファイルの内容を 読み込んで、この場合に、同じく合計で「P」がいくつあるか という場合にはどうなりますか? ABC.txt ABCDEFGGHIJJJKLMNOOPPPPQRSTUUVWXYZ ABCDEFGGHIJJJKLMNOOPPPPQRSTUUVWXYZ ABCDEFGGHIJJJKLMNOOPPPPQRSTUUVWXYZ public string getTitleCount(TextReader tr) { string str = null; while ((str = tr.ReadLine()) != null) { int noOfP = System.Array.FindAll(str.ToCharArray(), delegate(char x) { return x == 'P'; }).Length; Console.WriteLine("{0}文字です。", noOfP); } return str; }

その他の回答 (2)

回答No.3

> 下記のようなテキストファイルの内容を読み込んで… なにがわからんのかわかりません。 ファイルをオープンしてその関数に食わすだけじゃないの? # カテゴリ違いなので対応はここまで。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

>読み込んで、この場合に、同じく合計で「P」がいくつあるか >という場合にはどうなりますか? あくまで自分でコードを書く気はないのですね。 まずは foreach を使って自前でカウントする所から始めて下さい。

関連するQ&A

専門家に質問してみよう