从R中的街道地址字符串中删除单位编号子句

时间:2018-07-16 21:36:33

标签: r regex string street-address

我正在使用R进行地理编码。我的一些街道地址中包含单位编号,我需要在进行地址解析之前将其删除,但是我不太擅长使用正则表达式命令。我该如何转换这样的地址:

10 Fake St,Unit#5,纽约,NY 10001 假街10号,#5、6、7单元,纽约,纽约10001

对此:

纽约市假街10号,纽约10001

谢谢!

2 个答案:

答案 0 :(得分:0)

只需将\s+Units? \S+替换为""

\s+是一个或多个空格

Units?匹配一个或多个单位,后跟一个空格

\S+匹配一个或多个非空白字符(因此它将一直匹配到下一个空格)

答案 1 :(得分:0)

我们寻找带有可选的s(Units?),然后是#,数字和逗号(无穷次)(#(\d+,)+)的Unit。另一个更改是在逗号后添加一个可选空格以修复格式(#(\d+, ?)+)。

/Units? #(\d+, ?)+/g

const str = `10 Fake St, Unit #5, New York, NY 10001
10 Fake St, Units #5,6,7, New York, NY 10001`;

console.log(str.replace(/Units? #(\d+, ?)+/g, ""));