[英]Counting repeated characters in a string in a row Python
我想检查一个字符串中是否有连续的重复字符,直到下一个空格。
例如:
以下字符串连续有 4 个 O,我想以某种方式检测它。
myString = 'I contain foooour O's in a row without any space'
它是什么字符并不重要,只要它连续重复 4 次而没有任何空格。
我怎样才能做到这一点,我有哪些选择?
一种通用的解决方案可能是将re.findall
与模式(\\S)\\1{3,}
:
myString = "I contain foooour O's in a row without any space"
matches = re.findall(r'((\S)\2{3,})', myString)
print(matches[0][0])
这打印:
oooo
尝试这个:
myString = "I contain foooour O's in a row without any space"
def count_repeat(some_string):
counter = 1
max_counter = 0
tmp = some_string[0]
for i in range(1, len(some_string)):
if tmp == some_string[i] and some_string[i] != " ":
counter += 1
else:
max_counter = counter if max_counter < counter else max_counter
counter = 1
tmp = some_string[i]
return max_counter
print(count_repeat(myString))
输出
4
import string
myString = "I contain foooour O's in a row without any space"
alphabet_lowercase = list(string.ascii_lowercase)
alphabet_uppercase = list(string.ascii_uppercase)
for index in range(26):
if alphabet_lowercase[index] * 4 in myString:
print(f"Found {alphabet_lowercase[index]}")
if alphabet_uppercase[index] * 4 in myString:
print(f"Found {alphabet_uppercase[index]}")
上面的代码将显示任何连续重复 4 次的字符。 它将打印重复的字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.