【发布时间】:2021-05-30 08:46:39
【问题描述】:
所以我最近尝试使用 OCR 从文档中提取文本。有时,OCR 在字符之间添加一个“空格”。当它是电子邮件地址时,这会成为一个问题。
例如, 电子邮件:adil.idris2019@gmail.com ------> adil.idris2019@gmail.com
我正在尝试使用正则表达式来解决这个问题。
import re
txt = "wldeub 777-29378-88 @@ Email:adil.idris 2019@gmail.com dfhdu fdlfkos"
txt1 = "Email:michael wobbly@gmail.com 777-123-0000"
txt2 = "Email: john_jebrasky@ gmail.com TX, USA"
txt3 = "john_jebrasky @gmail.com TX, USA"
txt4 = "I am proficient in python. geekcoder 12@gmail.com TX, USA"
out = re.search("Email\:?.+com",txt)
re.sub("Email\:","",re.sub(" ","",out.group(0)))
很遗憾,这只是硬编码修复。注意:在某些情况下,Email: 一词可能不会作为电子邮件的前缀出现。 如果没有电子邮件,或者文本不符合任何标准模式怎么办??
理想输出:“adil.idris2019@gmail.com”
【问题讨论】:
-
使用正则表达式,您无法区分“字符垃圾”和“有意义的内容”。因此
dfhdu和com被认为是相同的。提供更多文本 sn-ps 以最终看到模式。 -
我已经用更多例子更新了这个问题