Regex R-计数行数w/@Symbol
我有一个ID记录列表(其中一些是用户名,一些是电子邮件地址)。我想知道有多少是电子邮件地址。我在想一个简单的方法是计算有多少行包含@符号,但我无法找到一个函数来实现这一点。感谢您的帮助 样本数据集:Regex R-计数行数w/@Symbol,regex,r,Regex,R,我有一个ID记录列表(其中一些是用户名,一些是电子邮件地址)。我想知道有多少是电子邮件地址。我在想一个简单的方法是计算有多少行包含@符号,但我无法找到一个函数来实现这一点。感谢您的帮助 样本数据集: x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com") x试试: x假设您的数据是df,您可以尝试 length(grep(pattern="@", df$V1)) [1] 2 到目前为止,这两个答案都是完全正确的,但如果您正在查找电
x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com")
x试试:
x假设您的数据是df
,您可以尝试
length(grep(pattern="@", df$V1))
[1] 2
到目前为止,这两个答案都是完全正确的,但如果您正在查找电子邮件地址,则不太可能出现误报的方法是:
x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com")
sum(regexpr(".*@.*\\..*",x) != -1)
x您甚至可以更进一步,要求使用“.com”、“.edu”等,尽管这样您就有可能被误判。好主意。。。虽然更像是sum(regexpr(“.*.\\\\…*”,x)!=-1)
可能是为了匹配OPs所需的输出。类似的方法可以是sum(sub(“.*(@)。*\\..*”,“\\1”,x)=“@”)
另请参见
x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com")
sum(regexpr(".*@.*\\..*",x) != -1)