【发布时间】:2011-05-11 07:53:52
【问题描述】:
我正在寻找一种算法,最好是在 Python 中,它可以帮助我找到最接近目标字符串长度为 N 个字符的现有字符串的子字符串(长度为 N 个字符)。
考虑目标字符串,即 4 个字符长,为:
targetString -> '1111'
假设这是我可用的字符串(我将生成它的子字符串以进行“最佳对齐”匹配):
nonEmptySubStrings -> ['110101']
上述4个字符长的子字符串:
nGramsSubStrings -> ['0101', '1010', '1101']
我想编写/使用一个“魔术函数”来选择最接近 targetString 的字符串:
someMagicFunction -> ['1101']
更多示例:
nonEmptySubStrings -> ['101011']
nGramsSubStrings -> ['0101', '1010', '1011']
someMagicFunction -> ['1011']
nonEmptySubStrings -> ['10101']
nGramsSubStrings -> ['0101', '1010']
someMagicFunction -> ['0101', '1010']
这个“魔术函数”是一个众所周知的子字符串问题吗?
我真的很想找到最小值。 nonEmptySubStrings 中的更改次数,以便它将 targetString 作为子字符串。
【问题讨论】:
-
我很想知道我上面问题的最后一行(粗体)的答案。我的要求似乎在生物信息学中应该相当频繁?哦,这可能与基于汉明距离一样微不足道(在这种情况下,我会修改我的问题以删除 ngram 生成步骤)。我基本上想找到最小值。 nonEmptySubStrings 中的更改次数,以便它将 targetString 作为子字符串。
标签: python string substring string-matching