【发布时间】:2019-07-17 20:43:24
【问题描述】:
以下 python 2.7 示例返回 string1 和 string2 之间的匹配块:
import difflib
string1 = "This is a test"
string2 = "This ain't a testament"
s = difflib.SequenceMatcher(lambda x: x == " ", string1, string2)
for block in s.get_matching_blocks():
a,b,size = block
print "string1[%s] and string2[%s] match for %s characters" % block
以下是上述程序的结果:
string1[0] and string2[0] match for 5 characters
string1[5] and string2[6] match for 1 characters
string1[7] and string2[10] match for 7 characters
string1[14] and string2[22] match for 0 characters
我想反转结果并返回 string1 和 string2 的不匹配块,如下所示:
string1[6] mismatch for 1 characters
string2[5] mismatch for 1 characters
string2[7] mismatch for 3 characters
string2[17] mismatch for 5 characters
注意:两个字符串的总匹配块相同,但不匹配的块会因字符串而异。
这是黑色=匹配和红色=不匹配的字符串的颜色编码表示。
【问题讨论】:
标签: python python-2.7 difflib