从两个多行字符串中获取差异的最佳方法是什么?
a = 'testing this is working \n testing this is working 1 \n'
b = 'testing this is working \n testing this is working 1 \n testing this is working 2'
diff = difflib.ndiff(a,b)
print ''.join(diff)
这会产生:
t e s t i n g t h i s i s w o r k i n g
t e s t i n g t h i s i s w o r k i n g 1
+ + t+ e+ s+ t+ i+ n+ g+ + t+ h+ i+ s+ + i+ s+ + w+ o+ r+ k+ i+ n+ g+ + 2
准确获取的最佳方法是什么:
testing this is working 2
?
正则表达式会是这里的解决方案吗?
原文由 Rekovni 发布,翻译遵循 CC BY-SA 4.0 许可协议
本质上使每个字符串成为一组行,并获取集合差异 - 即 B 中不在 A 中的所有内容。然后获取该结果并将其全部连接到一个字符串中。
编辑:这是表达@ShreyasG 所说内容的一种概括方式 - [x for x if x not in y]…