【发布时间】:2019-04-13 11:27:25
【问题描述】:
我正在尝试解析一个文件,其行类似于:
John David James (DEM) . . . . . . 7,808 10.51
Marvin D. Scott (DEM) . . . . . . 6,548 9.55
Maria "Mary" Williams (DEM) . . . . 4,551 8.58
Dwayne R. Johnson. . . . . . . . 4,322 8.22
WRITE-IN. . . . . . . . . . . 188 .29
我需要获取名称和第一列中的数字。最终结果是
John David James (DEM),7808
Marvin D. Scott (DEM),6548
Maria "Mary" Williams (DEM),4551
Dwayne R. Johnson,4322
WRITE-IN,188
我试过了
\s*\b(.*)\b(\s*\.\s*.*)(\d+,\d+|\d+)\b
\s*\b(.*)\b(\.|.\s)+\b(\d+,\d+|\d+)\b
有什么建议吗?
【问题讨论】:
-
数据是否总是列对齐?
-
@SalmanA 是的。他们使用句点和空格来分隔名称和数字
-
然后使用 substr.不是正则表达式。
-
@SalmanA 名称的长度不同,值可以是 1 - 5 位。
标签: php regex string parsing csv