R gsub从文本中提取电子邮件

时间:2016-06-07 13:45:15

标签: regex r gsub

我有一个由a的文件创建的变量readLines,其中包含一些电子邮件。我已经只过滤了带@符号的那些行,现在我正在努力抓住电子邮件。我的变量中的文本如下所示:

> dput(a[1:5])
c("buenas tardes. excelente. por favor a: Saolonm@hotmail.com", 
"26.leonard@gmail.com ", "Aprecio tu aporte , mi correo es jcdavola31@gmail.com , Muchas Gracias", 
"gracias andrescarnederes@headset.cl", "Me apunto, muchas gracias mi dirección luciana.chavela.ecuador@gmail.com me será de mucha utilidad. "
)

this问题起,我有一个起点来提取电子邮件(@Aaron Haurun的答案),稍加修改(我在[\w.]之前添加了@来处理电子邮件在名称之间使用.在regex101.com中运行良好以提取电子邮件。但是,当我将其移植到gsub时,它会失败:

> gsub("()(\\w[\\w.]+@[\\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: Saolonm@hotmail.com"           "26.leonard@gmail.com "                                                                          
[3] "Aprecio tu aporte , mi correo es jcdavola31@gmail.com , Muchas Gracias"                           "gracias andrescarnederes@headset.cl"                                                                       
[5] "Me apunto, muchas gracias mi dirección luciana.chavela.ecuador@gmail.com me será de mucha utilidad. "

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

3 个答案:

答案 0 :(得分:3)

根据您在问题中发布的答案,

var photo = event.media;
if (OS_ANDROID) {
    photo = photo.imageAsResized(photo.width, photo.height);
}
imageView.image = photo;

答案 1 :(得分:3)

我们可以试用document.getElementById('id').style.cssText包中的str_extract()

stringr

其中str_extract(text, "\\S*@\\S*") [1] "Saolonm@hotmail.com" [2] "26.leonard@gmail.com" [3] "jcdavola31@gmail.com" [4] "andrescarnederes@headset.cl" [5] "luciana.chavela.ecuador@gmail.com" 匹配任意数量的非空格字符。

答案 2 :(得分:2)

我们可以使用var conent = "This is the file content."; var header = "data:text/plain;charset=utf-8," var payload = header + encodeURIComponent(conent); // works d3.select("#link_html").on("click", function () { this.href = payload; }); // does not work as intended d3.select("#link_svg").on("click", function () { //// line below does nothing: // this["xlink:href"] = payload; // opens file in the same window, not as a downloaded file! d3.select("#link_svg").attr("xlink:href", payload); }); 选项来执行此操作

base R

或者OP的帖子是关于unlist(regmatches(a, gregexpr("\\S+@\\S+", a))) #[1] "Saolonm@hotmail.com" #[2]"26.leonard@gmail.com" #[3] "jcdavola31@gmail.com" #[4] "andrescarnederes@headset.cl" #[5] "luciana.chavela.ecuador@gmail.com"

的解决方案
gsub/sub