我正在使用R进行地理编码。我的一些街道地址中包含单位编号,我需要在进行地址解析之前将其删除,但是我不太擅长使用正则表达式命令。我该如何转换这样的地址:
10 Fake St,Unit#5,纽约,NY 10001 假街10号,#5、6、7单元,纽约,纽约10001
对此:
纽约市假街10号,纽约10001
谢谢!
答案 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, ""));