繁体   English   中英

使用 python 从 pdf 中提取特定文本

[英]extraction of specific text from pdf using python

是否可以使用 python 从 pdf 中提取特定文本。

测试用例:我有一个10多页的PDF文件,我需要提取出具体的文本和与之关联的值。 示例:用户:值用户 ID:值 需要提取这些值。

我能够阅读所有页面,我现在想要特定的文本

如果您已经能够阅读 PDF 并将文本存储到字符串中,则可以执行以下操作:

import re # Import the Regex Module

pdf_text = """
user:John
user:Doe
user id:2
user id:4
"""

# re.findall will create a list of all strings matching the specified pattern
results = re.findall(r'user:\s\w+', pdf_text)
results = ['user: John', 'user: Doe']

这基本上意味着:查找所有以字符串 'user:' 开头的匹配项,后跟一个空格 '\s',然后是组成单词(字母和数字)的字符 '\w',直到它不再匹配 '+' .

如果您只想取回“值”字段,则可以使用:r'user:\s(\w+)',它会指示正则表达式引擎对与 '\w+' 匹配的字符串进行分组。 如果您的正则表达式模式中有组,则 findall 返回一个组匹配列表,因此结果将是:

results = re.findall(r'user:\s(\w+)', pdf_text)
['John', 'Doe']

查看正则表达式模块文档: https://docs.python.org/3/library/re.html

如果您想做更复杂的事情,其他一些方法,如 finditer() 也可以提供帮助。

此正则表达式指南也可能有所帮助: https://www.regexbuddy.com/regex.html?wlr=1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM