加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

regex – 使用r从字符串中提取电子邮件地址

发布时间:2020-12-16 06:25:26 所属栏目:大数据 来源:网络整理
导读:这些是5个Twitter用户描述.我们的想法是从每个字符串中提取电子邮件. 这是我试过的代码,它可以工作,但可能还有更好的东西. 我宁愿避免使用unlist()并使用正则表达式一次性完成.我已经看到了python / perl / php的其他问题但不是R. 我知道我可以使用grep(…,p
这些是5个Twitter用户描述.我们的想法是从每个字符串中提取电子邮件.

这是我试过的代码,它可以工作,但可能还有更好的东西.
我宁愿避免使用unlist()并使用正则表达式一次性完成.我已经看到了python / perl / php的其他问题但不是R.
我知道我可以使用grep(…,perl = TRUE),但这不应该是唯一的方法.
如果它有效,当然它会有所帮助.

ds <- c("#MillonMusical | #PromotorMusical | #Dise?ador | Contacto :        ezequielife@gmail.com | #Instagram : Ezeqielgram | 01-11-11 |           @_MillonMusical @flowfestar","LipGLosSTudio by: SAndry RUbio           Maquilladora PRofesional estudiande de dise?o profesional de maquillaje     artistico lipglosstudio@hotmail.com/","Medico General Barranquillero   radicado con su familia en Buenos Aires para iniciar Especialidad       Medico Quirurgica. email jaenpavi@hotmail.com","msn =
    rdt031169@hotmail.comskype = ronaldotorres-br","Aguante piscis /       manuarias17@gmail.com  buenos aires"
    )

ds <- unlist(strsplit(ds,' '))
ds <- ds[grep("mail.",ds)]

> print(ds)
[1] "ttezequielife@gmail.com"  "lipglosstudio@hotmail.com/"
[3] "jaenpavi@hotmail.com"       "rdt031169@hotmail.comskype"
[5] "/ttmanuarias17@gmail.com"

把这个分开“rdt031169@hotmail.comskype”会很高兴
也许要求它以.com或.com.ar结束,这对我正在做的事情有意义

解决方法

这是另一种选择:

> regmatches(ds,regexpr("[[:alnum:]]+@[[:alpha:]]+.com",ds))
[1] "ezequielife@gmail.com"     "lipglosstudio@hotmail.com" "jaenpavi@hotmail.com"      "rdt031169@hotmail.com"    
[5] "manuarias17@gmail.com"

根据@Frank的评论,如果你想在你的例子.com.ar之后保留.com之后的国家标识符,那么看看:

> ds <- c(ds,"fulanito13@somemail.com.ar")  # a new e-mail address
> regmatches(ds,regexpr("[[:alnum:]]+@[[:alpha:]]+.com(.[a-z]{2})?",ds))
[1] "ezequielife@gmail.com"      "lipglosstudio@hotmail.com"  "jaenpavi@hotmail.com"       "rdt031169@hotmail.com"     
[5] "manuarias17@gmail.com"      "fulanito13@somemail.com.ar"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读