gpt4 book ai didi

python - 如何在 python 字符串中的子字符串之间查找子字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:45 27 4
gpt4 key购买 nike

令字符串为 "AAAGQWERTYUIOPAGCTHJKLAAAGZXCVBNMAGCT"。我想找到 AAAG 和 AGCT 之间的字符串。

我希望输出为 ["QWERTYUIOP","ZXCVBNM"],即字符串列表。

我如何使用正则表达式或类似技术来做到这一点?

我试过了

def find_distances_between_motifs(positions1, positions2, motif_length1):
diff1 = []
diff2 = []
pos2 = 0
flag = 0
for pos1 in range(len(positions1)):
if pos2 >= len(positions2):
break
if flag == 1:
flag = 0
pos1 -= 1
if positions2[pos2] - positions1[pos1] > 30:
diff1.append(NaN)
diff2.append(NaN)
continue
elif positions2[pos2] - positions1[pos1] < 1:
pos2 += 1
diff2.append(NaN)
flag = 1
elif pos1 < len(positions1) - 1 and positions1[pos1+1] > positions2[pos2]:
diff1.append(positions[pos2] - positions[pos1] - motif_length1)
diff2.append(pos2)
pos2 += 1
else:
continue
return diff1, diff2

我想返回两个数组 - 一个包含基序之间序列长度的位置,第二个包含第二个基序的位置,它将给出先前的距离。

最佳答案

使用正则表达式。 re.findall 与 Lookbehind 和 Lookahead

例如:

import re
s = "AAAGQWERTYUIOPAGCTHJKLAAAGZXCVBNMAGCT"
print( re.findall(r"(?<=AAAG).*?(?=AGCT)", s))

输出:

['QWERTYUIOP', 'ZXCVBNM']

关于python - 如何在 python 字符串中的子字符串之间查找子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52116762/

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