假设我有一个字符串AAAGCTTACGAAAAAAACGTA
,我想删除4 A
s之后的任何内容,无论它出现在字符串中的哪个位置。因此,对于此示例,我们在修剪后留下AAAGCTTACG
。什么是快速有效的方法呢?
答案 0 :(得分:4)
你可以使用贪婪的比赛,什么也不用。
import re
new_string = re.sub(r'AAAA.*', '', original_string)
或者,AAAA
如果您发现它更具可读性,也可以表示为A{4}
。
答案 1 :(得分:4)
您可以使用str.split()
:
>>> s = "AAAGCTTACGAAAAAAACGTA"
>>> s.split("AAAA", 1)[0]
'AAAGCTTACG'
答案 2 :(得分:1)
仅find
AAAA
>>> s = "AAAGCTTACGAAAAAAACGTA"
>>> s[:s.find("AAAA")]
'AAAGCTTACG'
,如果有,请切片:
AAAA
但是,这样你应首先检查字符串是否包含{{1}},否则它将切掉最后一个字符。