我想在某个词中获取所有出现元素character
的索引。假设我寻找的这些character
元素是:l
,e
,a
,z
。获取索引字符串中的所有字符元素匹配R
我尝试了grep
函数中的以下正则表达式及其几十个修改,但是我一直没有收到我想要的东西。
grep("/([leazoscnz]{1})/", "ylaf", value = F)
给我
numeric(0)
,我想:
[1] 2 3
我想在某个词中获取所有出现元素character
的索引。假设我寻找的这些character
元素是:l
,e
,a
,z
。获取索引字符串中的所有字符元素匹配R
我尝试了grep
函数中的以下正则表达式及其几十个修改,但是我一直没有收到我想要的东西。
grep("/([leazoscnz]{1})/", "ylaf", value = F)
给我
numeric(0)
,我想:
[1] 2 3
要使用一个字符串的单个字符grep
工作,首先需要分割字符串成独立的特征向量。您可以使用strsplit
此:
strsplit("ylaf", split="")[[1]]
[1] "y" "l" "a" "f"
接下来,你需要简化你的正则表达式,并再次尝试grep
:
strsplit("ylaf", split="")[[1]]
grep("[leazoscnz]", strsplit("ylaf", split="")[[1]])
[1] 2 3
但它更容易使用gregexpr
:
gregexpr("[leazoscnz]", "ylaf")
[[1]]
[1] 2 3
attr(,"match.length")
[1] 1 1
attr(,"useBytes")
[1] TRUE
谢谢你的回答!根据@alexis_laz评论,我并不需要分割任何东西;) – user3793180
我编辑了我的答案。 – Andrie
也许'gregexpr(“[leazoscnz]”,“ylaf”)'? –
谢谢!这是诀窍:) – user3793180