R:查找包含特定关键字的文件名的位置

时间:2013-12-12 17:52:15

标签: r

我在数据框df的第1行和第2列有以下条目:

 df[1,2]<-"facebook-light.png,
           twitter-light.png, 
           linkedin-light.png, 
           logo.png, 
           screen4-smallBORDER.png,
           logo.png,
           screen4-smallBORDER.png,
           authorizereseller_0dd2310d24bc19a1bd3c1f950e45c34b.jpg,
           bcorporation_aa37be94146e3a0f8b85e7ecef0a49c4.jpg, 
           bayarea-greenbusiness_6c412f2f2f23c61f883e26ef015c5016.jpg,        
           betterbusinessbureau_7575c7b630f4d4593b1730df9d67cab3.jpg"

我希望得到包含术语bcorp的文件名的位置。这个特殊情况下的正确答案应该是9,因为包含术语bcorporation_aa37be94146e3a0f8b85e7ecef0a49c4.jpg的{​​{1}}是在df [1,2]中列出的第9个文件。 我该如何计算这样的价值?

谢谢,

1 个答案:

答案 0 :(得分:3)

看起来你需要strsplit组合分割字符串和grep以获得“位置”:

grep("bcorp", strsplit(df[1,2], ",", fixed = TRUE)[[1]])
[1] 9
## Or possibly
## grep("bcorp", strsplit(as.character(df[1,2]), ",", fixed = TRUE)[[1]])