如何使用regexp更准确地指定模式

时间:2016-03-21 13:01:35

标签: regex r

我正在尝试将具有大量重复项的数据帧缩减为数据帧,每个特定条目只有一次,但是使用名为" counter"的变量。这个变量在数据帧中出现的频率。现在我对正则表达式有一些麻烦..

length(grep(kh$gem[124],kh$gem))

计算kh$gem[124]在数据框中的频率。问题是

> kh$gem[124]
[1] "Salzburg"

  > grep(kh$gem[124],kh$gem)
  [1] 120 124 125 126 127 128 134 141 144 146 148

但是,如果我研究这些变量,有一些我确实匹配了#39; regexp,但不是我正在寻找的那些。

 > kh$gem[c(120,124,125,126,127,128,134,141,144,146,148)]
[1] "Oberndorf bei Salzburg" "Salzburg" "Salzburg" "Salzburg"              
[5] "Salzburg" "Salzburg" "Salzburg" "Salzburg"              
[9] "Salzburg" "Oberndorf bei Salzburg" "Salzburg"     

我怎样才能消除那些" Oberndorf bei Salzburg"?

感谢您的帮助。最好的问候!

1 个答案:

答案 0 :(得分:1)

添加锚点。

grep(paste0("^" , kh$gem[124] , "$"),kh$gem)