我正在寻找一种算法,该算法可以计算多个连续字符并计算所有大写字母单词。
我想要的输出是,对于每个用大写字母写的单词,计数器将增加1,对于每个顺序使用的字符,计数器将再次增加1
示例:
str =“来吧!”
计数器= 4
说明:COME + 1,ON + 1,DUDE +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()
输出以及更多测试字符串,以确保它实际上在计算您想要的内容。 (这就是为什么我包括一个额外的捕获组的原因。)