【发布时间】:2020-01-24 00:23:42
【问题描述】:
这是我第一次从 PDF 文档中抓取文本。我正在展示我认为对我正在做的数据最有用的格式,但我可能是错的。清理 PDF 文本后,我将其格式化为 tibble(如下)。
我尝试使用strsplit(dmt, \\s+) 将字符串拆分为三个单独的列,但这只是将所有内容完全分开。我曾使用str_squish() 来消除字符串中间文本部分的空格,但这对模式匹配没有帮助。
字符串的第一个数字部分有时以) 或number 结尾。这是我正在使用的:
dmt
# A tibble: 612 x 1
datamatrixtest[,1]
<chr>
1 110.05 Human Service Vehicle Inspection Reqd 6
2 23.33(12)(b) ATV-Fail/Stop for Law Enforce. Official 1
3 23.33(6)(a) ATV-Fail/Display Lighted Headlamp 1
4 341.03 Oper Veh After Sus/Rev or Can of Reg 8,862
5 341.04(1) Non-Registration of Vehicle 10,125
6 341.04(2) Improper Registration of Vehicle 4
7 341.15(1) Fail/Display Vehicle License Plates 2,010
8 341.15(1m)(a) Fail/Attach Rear Regis. Decal/Tag 3
9 341.15(1m)(b) Fail/Attach Front Regis. Decal/Tag 2
10 341.15(2) Improperly Attached License Plates 7
# ... with 602 more rows
理想情况下,我可以利用 strsplit 和精确的模式匹配将数据放入三个单独的列中。
dmt
# A tibble: 612 x 3
statute offense cases
<chr> <chr> <num>
1 110.05 Human Service Vehicle Inspection Reqd 6
2 23.33(12)(b) ATV-Fail/Stop for Law Enforce. Official 1
3 23.33(6)(a) ATV-Fail/Display Lighted Headlamp 1
4 341.03 Oper Veh After Sus/Rev or Can of Reg 8,862
5 341.04(1) Non-Registration of Vehicle 10,125
6 341.04(2) Improper Registration of Vehicle 4
7 341.15(1) Fail/Display Vehicle License Plates 2,010
8 341.15(1m)(a) Fail/Attach Rear Regis. Decal/Tag 3
9 341.15(1m)(b) Fail/Attach Front Regis. Decal/Tag 2
10 341.15(2) Improperly Attached License Plates 7
【问题讨论】: