-5

私は次のような文字列を持っています:

1.1
1.11
11.11
1.1.1
11.11.11

これらはすべて、スペースがなく、数字とピリオドのみの単一の文字列です。

文字列のピリオドの数を数えることができる必要があります。C#でこれを行う簡単な方法はありますか?

4

4 に答える 4

12

たとえば、いくつかの方法があります (フレームワーク 3.5 以降が必要です)。

int cnt = str.Count(c => c == '.');

また:

int cnt = 0;
foreach (char c in str) if (c == '.') cnt++;

また:

int cnt = str.Length - str.Replace(".", "").Length;
于 2012-07-05T17:06:35.010 に答える
5

あなたの正確な質問を入力したときのグーグルでの最初の結果....

http://social.msdn.microsoft.com/Forums/en/csharplanguage/thread/4be305bf-0b0a-4f6b-9ad5-309efa9188b8

いくつかの研究を行います...

int count = 0;
string st = "Hi, these pretzels are making me thirsty; drink this tea. Run like heck. It's a good day.";
foreach(char c in st) {
  if(char.IsLetter(c)) {
    count++;
  }
}
lblResult.Text = count.ToString();
于 2012-07-05T17:08:05.727 に答える
3

String は文字配列であることを忘れないでください。

Enumerable.Countを linq クエリで使用できます

"11.11.11".Count(c => c=='.'); // 2
"1.1.1.1".Count(c => c=='.'); // 3
于 2012-07-05T17:08:11.997 に答える
2
string stringToTest = "1.11";
string[] split = stringToTest.Split('.');
int count = split.Length - 1;
Console.WriteLine("Your string has {0} periods in it", count);
于 2012-07-05T17:08:49.937 に答える