[英]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.