用正则表达式获取三个单词

时间:2013-10-30 13:39:32

标签: regex r

我只能获得第一个Adam,开始位置,结束位置,长度,我怎样才能在文本中获得另外两个Adam?

text <- c("Hellow, Adam!", "Hi, Adam!", "How are you, Adam.")
regexpr("Adam", text)

1 个答案:

答案 0 :(得分:1)

它工作正常,为每个“Adam”输出起始索引和长度:

> text <- c("Hellow, Adam!", "Hi, Adam!", "How are you, Adam.")    
> regexpr("Adam", text)
[1]  9  5 14
attr(,"match.length")
[1] 4 4 4
attr(,"useBytes")

[1] TRUE

regexpr的输出是一个结构,一个带有附加属性(?attributes)的起始位置的整数向量。

x <- regexpr("Adam", text)
c(x[2], attributes(x)$match.length[2])

访问第二场比赛的起始位置和字符串长度。