假设我的程序收到一个输入,例如一串具有任何类型字符的字符.例如,’Bob’s Bagel Shop’.然后它得到另一个字符串,上面写着’Fred’s Bagel Store’.如何在
python中使用正则表达式或其他模块来比较这些并让我的程序告诉我,如果字符串中的任何字符串中的至少5个(或任何我想要的数字)是相同的,但是所有字符都在相同的顺序中,比如’Bagel’这个词?
谢谢.
有一个
Python标准库类
difflib.SequenceMatcher
将有助于解决您的问题.这是一个代码示例:
from difflib import SequenceMatcher s1 = "Bob's Bagel Shop" s2 = "Bill's Bagel Shop" matcher = SequenceMatcher(a=s1,b=s2) match = matcher.find_longest_match(0,len(s1),len(s2))
结果:
Match(a=3,b=4,size=13) # value that 'match' variable holds
结果显示两个字符串具有相等的子字符串,长度为13个字符(从第一个字符串中的第3个字符开始,第二个字符串中的第4个字符串).
您可以使用此匹配结果对象将其字段作为值:
match.size # 13 match.a # 3 match.b # 4
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。