标准化电话号码数据

SCD*_*DCE 3 regex r

我正在寻找一个更优雅的解决方案:

phone_number <- function(x) {
x <- gsub("[\\() -]", "", x) 
x <- gsub("^(.{3})(.{3})(.*)","\\1-\\2-\\3", x, perl = TRUE)
}
Run Code Online (Sandbox Code Playgroud)

这将采用这样的数据:

(123) 123-1234
123-123-1234
123 123-1234
Run Code Online (Sandbox Code Playgroud)

并产生这个:

123-123-1234
123-123-1234
123-123-1234
Run Code Online (Sandbox Code Playgroud)

Jul*_*ora 5

我们能做到

gsub(".*(\\d{3}).*(\\d{3}).*(\\d+).*?", "\\1-\\2-\\3", x)
# [1] "123-123-1234" "123-123-1234" "123-123-1234"
Run Code Online (Sandbox Code Playgroud)

假设我们在角色的某个地方只有三组数字,它们就是我们所需要的.