gpt4 book ai didi

python - 如何多次将特定序列与字符串分开?

转载 作者:行者123 更新时间:2023-11-28 18:34:02 25 4
gpt4 key购买 nike

我有一个名为 protein 的字符串。它打印如下内容:KALSKJKDALIEUTSTARTALKSJDALK*KAJSLDKJSTARTJAISOIEWORUNCD*

我想要一个代码来搜索此字符串中的 START* 并打印它们之间的字符,在本例中为字母。

例如:protein = STARTJSADHFJAS*KJSTARTAKSLJDIOQWIE*

打印 protein_filtered = [JSADHFJAS, AKSLJDIOQWIE]

到目前为止我已经有了这个,但这只会让我得到第一个蛋白质序列。另外,我不关心它是附加到列表还是字符串。

start_marker = 'START'
end_marker = '*'
start = protein.index(start_marker) + len(start_marker)
end = protein.index(end_marker, start + 1)
print protein[start:end]

最佳答案

START(.*?)\*

您可以通过 re 执行此操作。请参阅演示。

https://regex101.com/r/hE4jH0/41

import re
p = re.compile(ur'START(.*?)\*', re.MULTILINE)
test_str = u"STARTJSADHFJAS*KJSTARTAKSLJDIOQWIE*"

re.findall(p, test_str)

我们在这里通过在 .* 后附加 ? 来使用非贪婪正则表达式。这样正则表达式会在第一次出现时停止*。如果它是贪心的,它将到达最后一次出现的 *

关于python - 如何多次将特定序列与字符串分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34126448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com