我想检查一行中重复字符的字符串,直到下一个空格。
例如:
下面的字符串是连续4O的,我想以某种方式检测它。
myString = 'I contain foooour O's in a row without any space'
只要是连续重复4次,没有任何空格,那么它是什么字符并不重要。
我如何才能做到这一点,我的选择是什么?
发布于 2020-10-31 23:29:45
一个常见的解决方案可能是将re.findall
与模式((\S)\2{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
发布于 2020-10-31 23:27:12
试试这个:
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
发布于 2020-10-31 23:29:58
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次的任何字符。它将打印重复的字符。
https://stackoverflow.com/questions/64629528
复制相似问题