检测字符串中的火焰

时间:2018-12-02 23:37:57

标签: python python-3.x

我正在寻找一种算法,该算法可以计算多个连续字符并计算所有大写字母单词。

我想要的输出是,对于每个用大写字母写的单词,计数器将增加1,对于每个顺序使用的字符,计数器将再次增加1

示例:

str =“来吧!”

计数器= 4

说明:COME + 1,ON + 1,DUDE +1,!!! +1

关于如何实现此特定算法的任何想法?

非常感谢您!

1 个答案:

答案 0 :(得分:1)

正则表达式是您的朋友。

import re

test = "COME ON DUDE!!!"
count = len(re.findall('([A-Z]{2,})|(?P<r>\S)(?P=r){2,}', test))

当然,您应该查看.findall()输出以及更多测试字符串,以确保它实际上在计算您想要的内容。 (这就是为什么我包括一个额外的捕获组的原因。)