提取字符串中的倒数第二个单词

时间:2013-08-21 17:11:48

标签: regex r

我知道如何在Python中使用它,但无法在R

中使用它
> string  <- "this is a sentence"
> pattern <- "\b([\w]+)[\s]+([\w]+)[\W]*?$"
Error: '\w' is an unrecognized escape in character string starting "\b([\w"
> match   <- regexec(pattern, string)
> words   <- regmatches(string, match)
> words
[[1]]
character(0)

2 个答案:

答案 0 :(得分:4)

sub('.*?(\\w+)\\W+\\w+\\W*?$', '\\1', string)
#[1] "a"

读取 - 非贪婪并寻找任何东西,直到你到达序列 - 一些单词字符+一些非单词字符+一些单词字符+可选的非单词字符+字符串结尾,然后提取该序列中的第一个单词字符集

答案 1 :(得分:3)

非正则表达式解决方案:

string  <- "this is a sentence"
split <- strsplit(string, " ")[[1]]
split[length(split)-1]