我需要检测/提取法国城市邮政编码的值
预期结果:
前:
Abancourt (70 2 05 002)
Abancourt (76 666)
预期结果:
70002
76666
我尝试过的事:第一个括号后和空格之前的数字。
dummy<- c("Abancourt (70 2 05 002)", "Abancourt (76 666)")
grep(pattern ="[0-9]{2}" , dummy)
答案 0 :(得分:3)
我们可以使用sub
来匹配(
之后的2位数和)
之前的3位数,作为一组捕获,并在替换中使用捕获的组的反向引用
as.numeric(sub(".*[(]([0-9]{2}).*([0-9]{3})[)]", "\\1\\2", dummy))
#[1] 70002 76666