我有以下字符串:
1.1
1.11
11.11
1.1.1
11.11.11
所有这些都是单个字符串,没有空格,只有数字和句号。
我需要能够计算字符串中的句点数。在C#中有一种简单的方法吗?
答案 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)
当我输入您的完全问题时,谷歌的第一个结果......
做一些研究......
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);