python 匹配段落_段落匹配Python

背景资料

我有一个Python脚本,它使用docx模块生成word文档.这些文档基于日志生成,然后打印并存储为记录.但是,可以追溯编辑日志,因此需要修改文档记录,并且必须跟踪这些修订.我实际上并没有修改文档,而是生成一个新文档,显示当前日志中的内容与日志中的内容之间的差异(在修改后的文件打印后更新日志).发生修订时,我的脚本使用diff_match_patch通过以下函数生成已更改内容的标记:

def revFinder(str1,str2):

dmp = dmp_module.diff_match_patch()

diffs = dmp.diff_main(str1,str2)

paratext = []

for diff in diffs:

paratext.append((diff[1], '' if diff[0] == 0 else ('s' if diff[0] == -1 else 'b')))

return paratext

docx可以将文本作为字符串,或者如果需要逐字格式化,则可以将文本作为元组,因此[请参阅“需要注意的事项”中的第二个项目符号]

[("Hello, ", ''), ("my name ", 'b'), ("is Brad", 's')]

产生

Hello my name

is Brad

问题

diff_match_patch是一个非常有效的代码,它可以找到两个文本之间的差异.不幸的是,它有点太高效,所以用沙丘取代多余的结果

redun

ante

这很丑陋,但单词却很好.但是,如果整个段落被替换,结果将完全不可读.那不行.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值