R - 计数行数@符号

时间:2015-05-04 13:53:45

标签: regex r

我有一个带ID的记录列表(其中一些是用户名,其中一些是电子邮件地址)。我想知道有多少是电子邮件地址。我想一个简单的方法是计算有多少行包含@符号,但是我无法获得一个函数来完成这项工作。任何帮助表示赞赏!

示例数据集:

x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com")

3 个答案:

答案 0 :(得分:6)

到目前为止,这两个答案都是完全正确的,但如果您正在寻找一个电子邮件地址,那么不太可能产生误报的方法是:

x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com")  
sum(regexpr(".*@.*\\..*",x) != -1)

答案 1 :(得分:2)

尝试:

x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com")
sum(grepl("@", x))

答案 2 :(得分:1)

假设您的数据为df,您可以尝试

length(grep(pattern="@", df$V1))
[1] 2