gpt4 book ai didi

r - 如何从电话号码中提取国家代码?

转载 作者:行者123 更新时间:2023-12-05 01:22:11 25 4
gpt4 key购买 nike

我正在尝试提取国家代码并将它们移到一个新列中。

示例数据

data <- data.frame(phone = c("+1 800 000 000", "+257000000000", "+91-00 000 00", "200000 000"))

到目前为止,我只有一个开始。例如,我可以提取 +标志,但我正试图找到如何检测 +1 +257 +91等..

data |> 
mutate(country_code = str_extract(phone, "[:symbol:]"))
phone            country_code
+1 800 000 000 +
+257000000000 +
+91-00 000 00 +
200000 000 NA

我想要实现的目标:

phone            country_code
+1 800 000 000 +1
+257000000000 +257
+91-00 000 00 +91
200000 000 NA

我想知道我是否可以根据我指定不同变体的另一个向量来匹配可能的国家/地区代码,如下所示:codes <- c(1, 257, 91)或者像这样 codes <- c("+1", "+257", "+91") .

最佳答案

这行吗:

library(dplyr)
library(stringr)

data %>% mutate(country_code = str_extract(phone, str_c('\\+', codes, collapse = '|')))
phone country_code
1 +1 800 000 000 +1
2 +257000000000 +257
3 +91-00 000 00 +91
4 200000 000 <NA>

关于r - 如何从电话号码中提取国家代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74405429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com