我想从pdfs中提取信息。
以下是政策摘录,其中使用https://github.com/yob/pdf-reader/将pdf转换为txt文档。
Vehicle Description 2007, PORSCHE, CAYMAN 3.2
Registration Number USD-2394 Vin Number FSDFKJL23123KFAS
MY COVER DETAILS
Cover USD37.45
我想提取,例如车辆描述和保险费用:
vehicle.description => "2007, PORSCHE, CAYMAN 3.2"
vehicle.registration => "USD-2394"
vehicle.cost_of_cover => "37.45"
任何人都可以告知适当的方法。问题在于策略的布局可能会发生变化,但数据大致相同,只是具有不同的值。
如果要使用正则表达式,任何人都可以提供示例代码。
答案 0 :(得分:1)
查找说明
/Vehicle Description((?!Registration$).*)Registration/m
查找注册号
/Registration Number((?!Vin$).*)Vin/m
查找保险费用
/Cover(.*)/m
这些都是非常懒惰的正则表达式匹配。但是你没有提供很多不同的样品。但这些应该让你开始。
示例用法:
match = /Vehicle Description((?!Registration$).*)Registration/m.match(PDFTEXT)
答案 1 :(得分:0)
使用正则表达式(regexp)可以非常轻松地完成此操作。假设您的pdf文本存储在变量text
:
description = text.scan(/Vehicle Description(.*)Registration/m).flatten[0].strip
registration = text.scan(/Registration Number(.*)Vin/m).flatten[0].strip
cover = text.scan(/Cover(.*)/m).flatten[0].strip