我想用一个词来获取character
元素所有出现的索引。假定这些character
元素我期待有:l
,e
,a
,z
。
我在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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句