如何用C#找出字符串中的句点数

时间:2012-07-05 17:03:46

标签: c#

我有以下字符串:

1.1
1.11
11.11
1.1.1
11.11.11

所有这些都是单个字符串,没有空格,只有数字和句号。

我需要能够计算字符串中的句点数。在C#中有一种简单的方法吗?

4 个答案:

答案 0 :(得分:11)

有几种方法,例如(需要框架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;

答案 1 :(得分: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();

答案 2 :(得分:3)

记住字符串是字符数组。

您可以在linq查询中使用Enumerable.Count

"11.11.11".Count(c => c=='.'); // 2
"1.1.1.1".Count(c => c=='.'); // 3

答案 3 :(得分:2)

string stringToTest = "1.11";
string[] split = stringToTest.Split('.');
int count = split.Length - 1;
Console.WriteLine("Your string has {0} periods in it", count);