全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1120 7
2020-04-27
悬赏 30 个论坛币 已解决
```{r}
    phone <- regex("
      \\(?     # optional opening parens
      (\\d{3}) # area code
      [)- ]?   # optional closing parens, dash, or space
      (\\d{3}) # another three numbers
      [ -]?    # optional space or dash
      (\\d{3}) # three more numbers
      ", comments = TRUE)
    str_match("514-791-8141", phone)
    # automatically throw out each group
    ```
为什么把 str_match("514-791-8141", phone)换成 str_match("514 791 8141", phone)之后就会出错

最佳答案

llb_321 查看完整内容

R Markdown phone
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-4-27 10:44:27
doubleyin 发表于 2020-4-27 18:23
不行 改之后还是报错而且str_match("514-791-8141", phone)识别也错了
R Markdown
phone <- regex("
      \\(?     # optional opening parens
      (\\d{3}) # area code
      [)-[:space:]]?   # optional closing parens, dash, or space
      (\\d{3}) # another three numbers
      [[:space:]-]?    # optional space or dash
      (\\d{3}) # three more numbers
      ", comments = TRUE)
    str_match("514 791 8141", phone)
##      [,1]          [,2]  [,3]  [,4]
## [1,] "514 791 814" "514" "791" "814"
    # automatically throw out each group

这回可以啦

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-27 12:54:03
[ -]?    # optional space or dash
这个表达式,并不是space或-,所以str_match找不到空格分隔的号码。
改成类似 (\\s|[-])?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-27 18:23:03
llb_321 发表于 2020-4-27 12:54
[ -]?    # optional space or dash
这个表达式,并不是space或-,所以str_match找不到空格分隔的号码。
...
不行 改之后还是报错而且str_match("514-791-8141", phone)识别也错了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-27 20:00:19
11.png
这是用dash分隔的,也可以



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-28 14:16:00
llb_321 发表于 2020-4-27 20:00
这是用dash分隔的,也可以
请问为什么 换成[:space:]就可以了呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群