这看起来真的很简单,但我尝试过的功能似乎不起作用。
我想在字符串中查找所有符合某个模式的字符串,例如,match('killer', 'l')
应该返回3, 4
。如果能够使用多个字符模式来实现就更好了,但这不是必需的。
到目前为止我已经尝试过:
t = 'killer'
p = 'l'
grep(p, t) #returns 1
grep(p, strsplit(t,'')) #also 1 for some reason
stringr::str_match_all(t, p) #gives an array of "l"s.
我不想自己创建一个函数,因为它不会被优化,而且我需要运行它数千次,而且我觉得那里肯定有一个这样的函数。
使用基础
gregexpr
:使用
str_locate_all
来自stringr
:来自
stri_locate_all_regex
:stringi