首页 > 解决方案 > 在 R 上使用 extract() 提取区号

问题描述

calls <- calls %>% extract(col = caller_id_number, into = "area_code", regex = "([\\012-]+)", remove = F)
view(calls)

使用 R 上的提取功能,我想提取电话号码的区号。例如:394-000-0000,我想提取出 394。问题是,我不知道如何在 extract() 函数中设置正则表达式来识别区号的模式。有小费吗?谢谢你。

标签: r

解决方案


在正则表达式[0-9]中匹配从 0 到 9 的所有数字,我们可以在花括号中给出精确的数量。所以该模式[0-9]{3}将精确匹配三位数字。stringr::str_extract()默认情况下会给你第一个匹配。所以这应该工作:

library(stringr)
calls %>% 
  mutate(area_code = str_extract(caller_id_number, "[0-9]{3}"))

推荐阅读