C# 如何用C来计算字符串中的句点数#

C# 如何用C来计算字符串中的句点数#,c#,C#,我有如下字符串: 1.1 1.11 11.11 1.1.1 11.11.11 所有这些都是单字符串,没有空格,只有数字和句点 我需要能够计算字符串中的句点数。在C#中是否有一种简单的方法可以做到这一点?有几种方法,例如(需要framework 3.5或更高版本): 或: 或: 当我输入你的确切问题时,谷歌上的第一个结果 做些调查 int count = 0; string st = "Hi, these pretzels are making me thirsty; drink this t

我有如下字符串:

1.1
1.11
11.11
1.1.1
11.11.11
所有这些都是单字符串,没有空格,只有数字和句点


我需要能够计算字符串中的句点数。在C#中是否有一种简单的方法可以做到这一点?

有几种方法,例如(需要framework 3.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();

请记住,字符串是字符数组

可以在linq查询中使用

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

那么,通常的问题是:?有两种可能:1)什么都没有=>你的问题结束了;2)你尝试了一些东西,在这种情况下,你更新了你的问题,以显示你的努力,并解释你遇到的困难。现在有2个子可能性:2.1)你的描述很清楚,你得到了答案;2.2)你的描述不好,在这种情况下,你可能会被要求澄清。这就是堆栈溢出的工作原理,以防您需要提问。来吧,现在。在谷歌搜索中,你不可能不点击十几个回答这个问题的结果就扔一块砖头。@ChrisSinclair,如果这是一个家庭作业,那绝对没关系。只要OP表现出他在解决这些问题上付出了一些努力,就可以提出家庭作业问题。没有人真正关心这是否是客户/老板/老师的任务。只要是与编程相关的内容,它就停留在主题上。@DarinDimitrov我不介意他们提问,但如果是作业,我认为他们应该被标记为这样,并且(可能)答案/讨论的形式有点不同。@ChrisSinclair,说得好,同意你的观点。将解决方案粘贴在这里,或者发表评论。@Guffa,对此表示抱歉,我从链接中添加了解决方案。当然,最快的是常规的ol'
for
循环。然而,我认为字符串替换方法是一个邪恶的天才的作品。@Tyrsius,replace很有趣,而且效率低下,而且cryptic@Tilak,它仍然很有趣。我没说这是我的新方法。拜托,你不喜欢看到独特的/新的解决方案,即使它们效率低下?我会的。也许在这里效率不高,但在其他地方必须是有效的。我很高兴你看到了替换方法。嘿,这是另一个!假设string.IndexOf经过某种程度的优化(值得怀疑),那么它可能会更快:
intcnt=0;int searchIndex=0;而((searchIndex=str.IndexOf(“.”,searchIndex)+1)>0{cnt++;}
(尽管读起来肯定比replace/length方法更有趣/更有害!)
int cnt = str.Length - str.Replace(".", "").Length;
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();
"11.11.11".Count(c => c=='.'); // 2
"1.1.1.1".Count(c => c=='.'); // 3
string stringToTest = "1.11";
string[] split = stringToTest.Split('.');
int count = split.Length - 1;
Console.WriteLine("Your string has {0} periods in it", count);