如此简单: 我想要的只是:
输入:嘿“我想念你了”“再一次”
输出:2
Inpu t:嘿“我想念你了”“再一次”“开玩笑”
输出:3
计算空格从未与我合作,因为:文本中的引号之间有空格
我测试的代码但由于上述原因而从未工作过......
static int CountWords(string text)
{
int wordCount = 0, index = 0;
while (index < text.Length)
{
while (index < text.Length && !char.IsWhiteSpace(text[index]))
index++;
wordCount++;
while (index < text.Length && char.IsWhiteSpace(text[index]))
index++;
}
return wordCount;
}
答案 0 :(得分:4)
正则表达式在这里非常有效:
var count = Regex.Matches(input, "\".*?\"").Count;
或者,计算引号数和除以2的其他建议也可以起作用:
var count = input.Count(c => c == '"') / 2;
答案 1 :(得分:0)
您可以计算引号并除以2。
int counter = 0;
int answer = 0;
foreach (char c in input)
{
if(c == "\"")
{
counter++;
}
}
answer = counter / 2;