【发布时间】:2019-10-12 02:39:54
【问题描述】:
考虑以下电子邮件向量:
emails <- c("blah@my.blah.com;etc@etc.edu;me@me.gov",
"yay@something.gov;yes@my.blah.com;maybe@maybe.net",
"someemail@nothing.gov")
上述向量的每个元素都是一个以分号分隔的用户电子邮件地址字符串。在这种情况下,例如,第一个用户有三个电子邮件:blah@my.blah.com、etc@etc.edu 和 me@me.gov。
我有一个我感兴趣的特定域名 - 假设它是 my.blah.com。我还知道一个事实,鉴于我对这个问题的领域知识,每个用户只能有一个my.blah.com 电子邮件地址,如果它存在的话。我想将每个用户的这个电子邮件地址作为字符向量返回,并在my.blah.com 电子邮件地址不存在的情况下返回NA。
因此,输出应该是
c("blah@my.blah.com", "yes@my.blah.com", NA)
我最好的尝试是
emails <- c("blah@my.blah.com;etc@etc.edu;me@me.gov",
"yay@something.gov;yes@my.blah.com;maybe@maybe.net",
"someemail@nothing.gov")
regmatches(emails,
regexec("+.*@my.blah.com",
emails))
[[1]]
[1] "blah@my.blah.com"
[[2]]
[1] "yay@something.gov;yes@my.blah.com"
[[3]]
character(0)
这不是字符向量,但我现在正努力让 RegEx 正确,这是我想要关注的。
【问题讨论】: