用多个字符替换字符串中的两个字符?

2024-09-23 16:22:14 发布

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

所以我在解决这个问题时遇到了麻烦。 假设我让一个用户输入一个我们想在字符串中找到的序列。但是他们可以输入“X”,在那里它将被替换为4个字符并搜索字符串。例如,如果用户输入AXXT,它将在字符串中搜索AGCT、AGGT等。因此我尝试这样做:

y_re = y.replace('X', '[ACGT]')

然而,这并不重叠,所以我进入AXX,它只给我AAC。有人知道我怎么解决这个问题吗?你知道吗


Tags: 字符串用户re序列replace个字符aacacgt
1条回答
网友
1楼 · 发布于 2024-09-23 16:22:14

像其他评论者所说的,请提供一个最小的,完整的,可验证的例子与样本数据和预期的产出。你知道吗

但我想我明白你想做什么。假设,您有序列ACATGT,用户输入AXXT,然后您希望找到重叠的子序列ACATATGT。使用正则表达式的方法是使用positive lookahead(?=...)。你知道吗

import re
sequence = 'ACATGT'
user_input = 'AXXT'

pattern = user_input.replace('X', '[ACGT]')
pattern = '(?=({}))'.format(pattern )

m = re.findall(pattern, sequence)
print(m)

相关问题 更多 >