【问题标题】:Email Extraction in RR中的电子邮件提取
【发布时间】:2015-08-13 09:59:02
【问题描述】:

我正在尝试从描述中提取所有电子邮件 ID。

> string <- c("From : William KWANG (TLA) To : Melissa_FOO@nba.gov.sd,feedback@tla.gov.sd,Milly_YUEN@tla.gov.sd,Faridah_B_SALLEH@tla.gov.sd,
+ Muhamad_Rosli_MOKTAR@tla.gov.sd cc : Juzaidi_LASA@nba.gov.sd,Kamis_TAHIR@nba.gov.sd,TAN_Xiao_Wei@nba.gov.sd Bcc : Sent On : Wed Mar 04 16:46:29 SGT 2015")

> str_extract_all(string=string,pattern="\\b[-A-Za-z0-9_.%]+\\@[-A-Za-z0-9_.%]+\\.[A-Za-z]+ ")
[[1]]
[1] "Muhamad_Rosli_MOKTAR@tla.gov.sd " "TAN_Xiao_Wei@nba.gov.sd " 

但是我无法提取所有电子邮件 ID。

我的问题是,to: list with comma 中提到了电子邮件列表,但查询获取的是最后一个结果。

【问题讨论】:

  • 也许您应该匿名电子邮件地址,不是吗?
  • 这可能会回答你的问题stackoverflow.com/questions/25076575/…
  • 我在发布之前尝试了建议的那些,但我没有得到想要的结果
  • @stribizhev 这个问题与其他问题略有不同。我的问题是,在 to: list with comma 中有提到的电子邮件列表,但查询获取最后一个结果。

标签: regex r email


【解决方案1】:

正则表达式中的尾随空格是问题所在。唯一符合该条件的地址是Muhamad_Rosli_MOKTAR@tla.gov.sdTAN_Xiao_Wei@nba.gov.sd,因为它们是唯一有尾随空格的地址。所以只需删除它:

string <- c("From : William KWANG (TLA) To : Melissa_FOO@nba.gov.sd,feedback@tla.gov.sd,Milly_YUEN@tla.gov.sd,Faridah_B_SALLEH@tla.gov.sd,Muhamad_Rosli_MOKTAR@tla.gov.sd cc : Juzaidi_LASA@nba.gov.sd,Kamis_TAHIR@nba.gov.sd,TAN_Xiao_Wei@nba.gov.sd Bcc : Sent On : Wed Mar 04 16:46:29 SGT 2015")
str_extract_all(string=string,pattern="\\b[-A-Za-z0-9_.%]+\\@[-A-Za-z0-9_.%]+\\.[A-Za-z]+")

[[1]]
[1] "Melissa_FOO@nba.gov.sd"          "feedback@tla.gov.sd"             "Milly_YUEN@tla.gov.sd"           "Faridah_B_SALLEH@tla.gov.sd"    
[5] "Muhamad_Rosli_MOKTAR@tla.gov.sd" "Juzaidi_LASA@nba.gov.sd"         "Kamis_TAHIR@nba.gov.sd"          "TAN_Xiao_Wei@nba.gov.sd"   

请注意,这可能适用于您在此处执行的任何操作,但众所周知,使用正则表达式难以解释电子邮件地址,因此不要期望此方法适用于您可能遇到的每个地址。​​

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多