2016-06-07 72 views
2

我有一个变量areadLines创建的文件包含一些电子邮件。我已经只过滤了那些带有@符号的行,现在正在努力抓住电子邮件。在我的变量的文本看起来是这样的:R gsub从文本中提取电子邮件

> dput(a[1:5]) 
c("buenas tardes. excelente. por favor a: [email protected]", 
"[email protected] ", "Aprecio tu aporte , mi correo es [email protected] , Muchas Gracias", 
"gracias [email protected]", "Me apunto, muchas gracias mi dirección [email protected] me será de mucha utilidad. " 
) 

this问题的,所以我就一个起点提取电子邮件(@Aaron Haurun的答案),其略作修改(我加了一个[\w.]@前解决电子邮件与名称之间的.)在regex101.com中运行良好,可以提取电子邮件。但是,它未能当我把它移植到gsub

> gsub("()(\\w[\\w.][email protected][\\w.-]+|\\{(?:\\w+, *)+\\w+\\}@[\\w.-]+)()", 
     "\\2", 
     a[1:5], 
     perl = FALSE) ## It doesn't matter if I use perl = TRUE 

[1] "buenas tardes. excelente. por favor a: [email protected]"   "[email protected] "                   
[3] "Aprecio tu aporte , mi correo es [email protected] , Muchas Gracias"       "gracias [email protected]"                  
[5] "Me apunto, muchas gracias mi dirección [email protected] me será de mucha utilidad. " 

什么我做错了,我怎么能抓住这些电子邮件?谢谢!

+1

使用stringr'str_extract'喜欢的东西'“关于解决\ \ S + @ [^ \\小号@。] + \\。\\ S +“'。可能有很多其他的电子邮件提取正则表达式(只是搜索) –

回答

相关问题