Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex R-计数行数w/@Symbol_Regex_R - Fatal编程技术网

Regex R-计数行数w/@Symbol

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 到目前为止,这两个答案都是完全正确的,但如果您正在查找电

我有一个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")  
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)