我在包含电话号码的数据框(df)中有一列。我需要检查电话号码是否符合以下格式:
X XXX XXX-XXXX
我希望输出为:
phone
1 234 564-8988 TRUE
22 32545-35647 FALSE
1-222-225-0202 FALSE
提前致谢。
答案 0 :(得分:1)
您可以在R中使用grepl
。我在这里调用新列TF
> d <- data.frame(phone = c("1 234 564-8988",
"22 32545-35647", "1-222-225-0202"))
> d$TF <- grepl("[0-9] [0-9]{3} [0-9(-)0-9]", d$phone)
> d
# phone TF
# 1 1 234 564-8988 TRUE
# 2 22 32545-35647 FALSE
# 3 1-222-225-0202 FALSE
更简单的说,正则表达式可以正常为"^[0-9] "
,因为您只希望电话号码以一个数字开头,然后是一个空格。
答案 1 :(得分:0)
您可以尝试将此选项仅匹配此X XXX XXX-XXXX
格式的电话号码
^[0-9] [0-9]{3} [0-9]{3}-[0-9]{4}$