Рассмотрим следующий вектор писем:
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
адрес электронной почты, если он существует.Я хотел бы вернуть этот адрес электронной почты для каждого пользователя в виде символьного вектора и вернуть NA
в тех случаях, когда my.blah.com
адрес электронной почты не существует.
Таким образом, выводдолжно быть
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 прямо сейчас, чтоэто то, на чем я хотел бы сосредоточиться.