如何计算字符串中有多少个双字母?

pur*_*ppc 0 c# string

双字母:连续出现两次的字母.(例如:"Google","编程好友")

Google包含1个双字母.编程伙伴在字符串中包含2个双字母.

不管怎样,这是我的代码

int doubleLetters = 0;
for (int i = 0; i < characters.Length - 1; i++)
{
    if (characters[i] == characters[i + 1])
    {
        doubleLetters++;
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是如果一个字符串被拼写为"Gooogle"(3个O),它将返回2而不是1的数量.基本上,它会返回多少个连字号 - 结果为1.

我怎么做才能算出正确数量的双字母?因此,如果字符串是"looooool",它应该给出一个3.然而,我的代码将其计为5.

我正在尝试找到可以解决此问题的代码.

gho*_*555 7

    if (characters[i] == characters[i + 1])
    {
        doubleLetters++;
        i++;
    }
Run Code Online (Sandbox Code Playgroud)

  • 由于循环条件,你不必在`i ++`之前检查任何东西. (2认同)