如何用Python实现类似text-compare.com的字符串新增内容检测
实现文本对比提取新增内容
可以利用Python标准库difflib来实现这个需求,它内置了序列对比工具,能轻松找出y相对于x的新增内容。
代码实现
import difflib def TextCompare(x, y): matcher = difflib.SequenceMatcher(None, x, y) added_parts = [] # 遍历对比操作码 for tag, _, _, j_start, j_end in matcher.get_opcodes(): # 筛选出y中新增的片段 if tag == 'insert': added_parts.append(y[j_start:j_end]) # 拼接所有新增内容并转小写(匹配示例输出格式) return ''.join(added_parts).lower() # 测试示例 x = 'abcdefg' y = 'abcdTHISefg' print(TextCompare(x, y))
输出结果
this
代码说明
SequenceMatcher用于对比两个字符串序列,这里传入None作为isjunk参数,不忽略任何字符。get_opcodes()返回对比后的操作指令,其中insert类型指令对应y中存在但x中没有的片段。- 收集所有
insert对应的y片段,拼接后转小写即可得到示例要求的输出;如果不需要转小写,去掉.lower()即可。
内容的提问来源于stack exchange,提问作者PolsatGraniePL
相关产品推荐
相关产品推荐

