【发布时间】:2020-07-22 07:18:26
【问题描述】:
我正在尝试清理 df 中的一列电话号码。
我想删除电话号码开头的国家代码 (254)。有时会重复此国家代码 (254254),有时电话号码本身会被截断 (2540)。我不想删除数字本身中出现的任何 254 实例。我尝试了一系列解决方案,包括
name <- c('James','Peter','Jolie', 'Freddy')
phoneNumber <- c("254703162522", "254254342544942", "2540", "728124572")
df <- data.frame(name, phoneNumber)
df$phoneNumber <- df$phoneNumber %>% str_replace_all('/254{1,2}/', '')
和
df2 <- df %>%
mutate_all(funs(str_replace(., '/254{1,2}/', '')))
但我所做的似乎并没有真正改变价值观。任何指针将不胜感激。
【问题讨论】:
-
你不需要 JS 风格的
/regexdelimiters/和 R 中的斜线。 -
另外,您可以使用
gsub("\\G254", "", ., perl=TRUE)