我想看看是否一个字符串包含一定的文字,如果是做什么的,我一直在使用python的in
运营商,但我意识到它过于严格基本上我有以下代码Python的非严格搜索文本
通常这将返回True
dynamic = "v23434"
filename = "v23434.jpg"
if dynamic in filename: return True
但是,如果我有
dynamic = "v23434-"
filename = "v23434.jpg"
然后返回False,由于破折号在dynamic
的末尾,所以我的问题是,有没有办法检查字符串文件名是否有字符串dynamic
,但是在某种程度上,它不一定是完美匹配,只有几个字符就足够了。
编辑
通过几个大字,我的意思是由动态的前3个字符的字符串,所以如果我有
dynamic = "v23434-"
filename = "testingv23434.jpg"
,那么它应该一致,因为子"v23"
filename
那么,你如何定义“几个字符”?你如何定义一个不完美的匹配?你需要在'filename'中找到'dynamic'的_first_少(或多少个?)字符,或者你在寻找'filename'中发生的'dynamic'的_any_子字符串?可能有一些最小长度?有算法来解决所有这些问题,但您必须具体说明您的要求。 – 2012-02-06 21:35:51
请参阅[this](http://stackoverflow.com/q/682367/566644)问题。 – 2012-02-06 21:36:56
你可以使用像莱文斯坦的距离 – shenshei 2012-02-06 21:37:24