質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

424閲覧

ReadLineで取得した文字に、先頭と同じ文字が含まれているか調べたい。

Screen-Hero16

総合スコア8

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2019/05/12 02:19

編集2019/05/12 03:20

表題の件ですが例えば、下記の左の文字をReadLineで取得した時、
HelloWorld → 0 1
KKKKK → 5
OOSAKA → 2
右側の数値が出力されてほしいのですが、下記コードだと結果がすべて0となり、意図した答えが返ってきません。訂正箇所があればご指摘頂けると幸いです。また、別の方法でも構わないのでお教え頂けますでしょうか。よろしくお願い申し上げます。

C#

1using System; 2 3class Program 4{ 5 static void Main(string[] args) 6 { 7 var str = Console.ReadLine().Trim(); 8 var strFirst = str.Substring(1, 0); 9 int index = str.IndexOf(strFirst); 10 Console.WriteLine(index); 11 } 12}

調べたページ
調べたページ
調べたページ

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2019/05/12 03:04

一番目と三番目のリンクは関係ありませんね。二番目を参考にしてください。それとHelloWorld は 1 にならなければいけないはずです。
Zuishin

2019/05/12 03:34

質問を書き直したということは、とにかくコードをくれということですかね。宿題でしょ、これ。
guest

回答2

0

var strFirst = str.Substring(1, 0);

おそらく、先頭の1文字を取得したいんでしょうけど、これではダメです

int index = str.IndexOf(strFirst);

IndexOf は、指定した文字列の位置を取得するメソッドなんで、これもダメですね

VisualStudioを使ってると思いますが、任意の行を指定して実行を止め、変数の内容などが見れるようにできます。
「VisualStudio ブレークポイント」、「VisualStudio デバッグ」とかでぐぐってみましょう

投稿2019/05/12 03:21

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

アドバイス頂いた内容と、参考サイトを元に再度考え直し、解決することができました。
ご対応いただき誠にありがとうございました。

C#

1using System; 2 3class Program 4{ 5 public static int CountChar(string s, char c) 6 { 7 return s.Length - s.Replace(c.ToString(), "").Length; 8 } 9 10 static void Main() 11 { 12 var str = Console.ReadLine().Trim(); 13 var strFirst = str.Substring(0, 1); 14 var chr = strFirst[0]; 15 Console.WriteLine(CountChar(str, chr)); 16 } 17}

投稿2019/05/12 04:18

Screen-Hero16

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2019/05/12 09:36

参考サイト(@IT)だともっと簡単な方法が記述されていますが、、 > int charCount = str.ToCharArray().Count(c => c == str[0]);
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問