我在历史目录上使用了光学字符识别 (OCR),并尝试使用 Microsoft Word 清理文本。具体来说,我需要一些帮助来编写正则表达式来将两行组合在一起。例如某事是
约翰史密斯,87 银行
大厦
实际上应该是
约翰史密斯,87 银行大厦
我尝试了几种方法,但都没有成功。谁能帮我这个?
我在历史目录上使用了光学字符识别 (OCR),并尝试使用 Microsoft Word 清理文本。具体来说,我需要一些帮助来编写正则表达式来将两行组合在一起。例如某事是
约翰史密斯,87 银行
大厦
实际上应该是
约翰史密斯,87 银行大厦
我尝试了几种方法,但都没有成功。谁能帮我这个?
我有一个可能不是很标准化的解决方案,但足以满足您的需求。将所有数据复制到任何高级文本编辑器中,例如 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