Удалить код страны телефона с помощью Regex в R - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь очистить столбец телефонных номеров в 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}/', '')))

Но, похоже, ничего из того, что я делаю, на самом деле не меняет значения. Любые указатели будут высоко оценены.

1 Ответ

0 голосов
/ 09 апреля 2020

соответствует ли это вашим потребностям?

df %>% 
  mutate(phoneNumber_new = str_remove_all(phoneNumber, '^(254)+'))

Объяснение: ^ обозначает начало строки, а + повторяет предыдущую строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...