我有一系列字符,例如
"TB=7"
"RT=9"
"UI=19"
"RT=91"
所有这些都保存在名为tu的varibale中。我写的时候
grep("RT=9",tu, values=TRUE)
我确实得到RT = 9和RT = 91作为输出。但我只想要RT = 9。有没有办法做到这一点?
Thnaks
答案 0 :(得分:3)
如果您想要完全匹配,为什么要使用正则表达式?刚
tu == "RT=9"
将完美地工作(但它返回一个布尔向量而不是索引或值)。要获取值,请使用tu[tu == "RT=9"]
。要获取索引,请使用which
。或者,假设您在唯一元素表中搜索唯一完全匹配,match
也可能是合适的:
hit <- match('RT=9', tu) # hit == 2
也就是说,您还可以通过指定字符串应包含其他内容来执行与grep
的全流匹配:
grep("^RT=9$",tu, values=TRUE)
^
和$
分别匹配字符串的开头和结尾。看看regular-expressions.info,这是一个很好的参考。
答案 1 :(得分:2)
您可以尝试以下方法:
grep('^RT\=9$', tu, values=TRUE)