我有一个由多个不干净的电子邮件地址组成的数据框,例如
1)abc @ gmailcom 2)def@yahoo.commm 3)fgh@yahoo.coin 4)xyz @ gmail
我想使用gsub来清理这些电子邮件,使用另一个包含模式和替换的数据框,例如,
有人可以建议使用gsub正则表达式。
答案 0 :(得分:1)
创建list
个模式并替换并使用gsubfn
library(gsubfn)
lst <- list(gmailcom = "@gmail.com", yahoo.commm = "@yahoo.com",
yahoo.coin = "@yahoo.co.in", gmail = "@gmail.com")
gsubfn("@(.*)", lst , str1)
#[1] "abc@gmail.com" "def@yahoo.com" "fgh@yahoo.co.in" "xyz@gmail.com"
str1 <- c("abc@gmailcom", "def@yahoo.commm", "fgh@yahoo.coin", "xyz@gmail")