Python中如何将重复子串的字符串拆分为列表?是否有对应字符串库?
如何将重复子串拼接的字符串拆分为列表?
你要把"TAUXXTAUXXTAUXX"拆成["TAUXX", "TAUXX", "TAUXX"],用Python内置功能就能实现,不需要额外的第三方字符串库,下面是两种常用方法:
方法一:固定长度切片(最直接高效)
已知每个目标子串长度为5,用列表推导式按步长切割即可:
s = "TAUXXTAUXXTAUXX" lst = [s[i:i+5] for i in range(0, len(s), 5)] print(lst) # 输出: ['TAUXX', 'TAUXX', 'TAUXX']
原理是range(0, len(s), 5)生成0、5、10这几个起始索引,每次从索引i开始截取5个字符,刚好拆分出所有重复子串。
方法二:正则表达式匹配(适合复杂场景)
如果不确定子串长度但知道重复模式,可用Python内置的re模块匹配:
import re s = "TAUXXTAUXXTAUXX" lst = re.findall(r"TAUXX", s) print(lst) # 输出: ['TAUXX', 'TAUXX', 'TAUXX']
这种方法更灵活,适合子串有变化但符合特定正则规则的场景。
补充说明
Python标准库中没有专门针对这类重复子串拆分的专用字符串库,因为这类简单需求用内置的切片或正则功能就完全能满足,无需额外依赖。
内容的提问来源于stack exchange,提问作者Yussef Raouf Abdelmisih
相关产品推荐
相关产品推荐

