【发布时间】:2017-04-12 09:23:00
【问题描述】:
如果你认为你应该阻止我提问,欢迎你。
我有一个运行 pdf2txt 的 pdf 文件,并使用正则表达式对其进行了清理。但是,偶尔会有一行让我感到困惑并且无法使用正则表达式。它看起来像这样:
123456789101112131415161718192021222324252627282930313233341234567891011121314151617181920212223242526272829303132333439
在数字 34 和 39 之间(行尾)有一个方框,上面有两个零,下面有一个零和 C。它没有在我的问题中显示,所以我想作为一个控制字符,它的意思是“零空间”。我在这里没有找到这种字符:jrgraphix.net 或其他 unicode 集合。
我复制了控制字符并把它放在这里:RegExr,它变成了一个红色的子弹。在这里:https://regex101.com/(我的“声誉”只允许2个链接),它变成了一个黑色子弹。我在原始 PDF 文件中没有找到红色或黑色项目符号。
我也尝试用这样的代码(Python 3)摆脱这一行:
if '123456789' in line:
print('found this line')
...没有找到这一行。
到目前为止,我的正则表达式是:
line = re.sub(r'\u25a0', '', line)
line = re.sub(r'\u2022', '', line)
line = re.sub(r'\u200B', '', line)
line = re.sub(r'\u200b', '', line)
我处理空白的 Python 代码:
elif re.match(r'^\s*$', line):
pass
你能帮我如何让正则表达式或 Python 找到那个字符吗?
【问题讨论】:
-
这是一个换页符。见ideone.com/VGzqXu
-
您不需要正则表达式来删除换页符,只需使用
.replace("\f", "")
标签: regex python-3.x unicode