Word 中的正则表达式

数据挖掘 文本挖掘
2022-03-05 04:22:07

我在历史目录上使用了光学字符识别 (OCR),并尝试使用 Microsoft Word 清理文本。具体来说,我需要一些帮助来编写正则表达式来将两行组合在一起。例如某事是

约翰史密斯,87 银行

大厦

实际上应该是

约翰史密斯,87 银行大厦

我尝试了几种方法,但都没有成功。谁能帮我这个?

3个回答

我有一个可能不是很标准化的解决方案,但足以满足您的需求。将所有数据复制到任何高级文本编辑器中,例如 Notepad++ 或 Sublime Text。接下来,使用 CTRL+H 切换查找和替换功能。查找:'\n' 并替换为 ''。

python中的完整代码:

import re
contents = open('path/to/file', 'r').read()
matches = re.findall(r'^(.*?)\n(.*?)$', contents)
joined = ['\t'.join([i[0] i[1]]) for i in matches]
print '\n'.join(joined)

我在 rubular 上对此进行了测试,它适用于您的示例。它也应该推广到其他人。引导您完成正则表达式,^$分别匹配行的开头和结尾,而 (.*?) 使用非贪婪通配符匹配首先捕获换行符之前的所有内容,然后是下一个结尾的所有内容的线。

简单...使用高级文本编辑器,例如...崇高文本、记事本、Vim 或 Atom..

将所有数据粘贴到任何编辑器上,然后删除 '\n 并将其替换为 "" ..

使用查找和替换功能

记事本、崇高文本、vim 和原子

使用 Ctrl H

查找框类型“\n”并在替换框“”

完毕 :) ;)

tnx