gpt4 book ai didi

python - 使用正则表达式(或另一个 python 模块)来比较文本/字符?

转载 作者:太空狗 更新时间:2023-10-29 22:09:49 25 4
gpt4 key购买 nike

假设我的程序接收到一个输入,例如具有任何类型字符的字符串。例如,“鲍勃的百吉饼店”。然后它得到另一个字符串,上面写着“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), 0, 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

关于python - 使用正则表达式(或另一个 python 模块)来比较文本/字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11924585/

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