[英]How to split a string by character sets that are different in python
我想將我擁有的字符串按與其他字符不同的字符拆分為一個列表。 例如,如果我有字符串ccaaawq
,我希望我的程序給我['cc', 'aaa', 'w', 'q']
。 由於每個拆分之間沒有單一的區別,我想知道解決這個問題的最佳方法是什么。 提前感謝您的回答
您可以使用itertools.groupby
:
from itertools import groupby
s = "ccaaawq"
out = ["".join(g) for _, g in groupby(s)]
print(out)
印刷:
['cc', 'aaa', 'w', 'q']
這是一個正則表達式查找所有方法:
inp = "ccaaawq"
output = [x[0] for x in re.findall(r'((.)\2*)', inp)]
print(output) # ['cc', 'aaa', 'w', 'q']
上述方法通過匹配任何一個字符后跟該相同字符零次或多次來工作。 然后將這些匹配存儲在我們從二維列表輸出中提取的第一個捕獲組中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.