在python中围绕字符拆分字符串

2024-10-03 19:30:26 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,伙计们,我在这里看到的答案,如何分裂字符串在一个指定的字符,这是相当简单的。我需要知道的是如何在两个字符之间拆分字符串

即拆分以M开头、以Z结尾的字符串 报告人:Rtrcpvnmvrnstnsksrsrhrzgrcgrhwvrnfdnpfisryrrsztsffiftvkflsssyglkkrkikrttvkvqgstimsllntzln

进入 返回 MVRNSRRTNSKSRSRHRZ公司 GRCRCGRHWVRNFDNPFISRYRRSZTSFFIFTVKFLSSYGLKKRKIKRTTVKVQGSTI MSLLNTZ公司 LN公司

后来只保留那些想要的。在

我也许能形成一个奇怪的循环来这样做

NET=Aminos.split('M')
LIST=[]
rock= int(0)
while LIST[rock]!= 'M' and LIST[rock]!= '':
    LIST.append('M' + NET[rock])
    rock=rock + 1
    other=other+1
print(LIST)

但是在这个例子中,我得到了索引超出范围的错误。在

这类事情似乎也相当乏味,因为我必须在每个Z之后用一个split将列表分开,并尝试将“Z”连接到每个Z的末尾。在

有没有人知道一种更有效的方法?在


Tags: 字符串答案net报告结尾公司字符list
2条回答

可以使用regular expressions从字符串中提取以M开头、以Z结尾的所有字符串:

>>> re.findall('M.*?Z', "RERTCRPVNMVRNSRRTNSKSRSRHRZGRCRCGRHWVRNFDNPFISRYRRSZTSFFIFTVKFLSSYGLKKRKIKRTTVKVQGSTIMSLLNTZLN")
['MVRNSRRTNSKSRSRHRZ', 'MSLLNTZ']

或者,如果您希望将字符串放在两者之间:

^{pr2}$

这听起来像是re.split

即:

import re
ex = re.compile("M.*Z")

splitted = re.split(ex, <some input string>)

编辑: 根据Tim堆更新,因为我把“以M开头,以Z结尾”误解为出现在单词边界处。在

编辑2: 在@cairnavon的反馈之后,下面是一个有效的示例(令人惊讶的是,re.split不接受re.compile的结果,您必须将regex作为字符串传入:

^{pr2}$

相关问题 更多 >