2012-11-28 124 views
4

比方说,我有一个矢量列:识别唯一的字符串

words <- c("Guardian","ia","librarian") 

如果我用grep的“IA”,它将返回所有三个。

grep("ia",words) # 1 2 3 

我该如何使它只能找到第二项,其中没有别的东西?

注意:我可以做相反的事情,类似于grep(".+ia|ia+.",words),但我不确定如何在这种情况下返回第二个位置。

+0

是'grepl( 'IA',话)的nchar(字)== 2'太笨重? – mnel

+0

@mnel给出了下面的解决方案,是的,我相信如此。 –

+2

你必须使用'grep'吗?我觉得(未测试)'哪个(字==“ia”)'可能会更快。 – flodel

回答

8

使用正则表达式来限制grep来你想要的字母:

grep("^ia$", words) # 2 
+0

'^和$是元字符,它们匹配空行字符串的开头和结尾处,再次读取行,现在有意义。谢谢! –