如何获取R中两个单词之间的文本?
我试图在一个句子的两个单词之间找到文本。如何获取R中两个单词之间的文本?,r,string,R,String,我试图在一个句子的两个单词之间找到文本。 例如: x <- "This is my first sentence" 它给出的输出是 [1] "is my sentence" 事实上,我需要的只是 [1] "is my" 任何帮助都将不胜感激 您需要在结尾处使用*来匹配“first”之后的零个或多个字符 gsub('^.*This\\s*|\\s*first.*$', '', x) #[1] "is my" 另一种方法是使用qdapRegex软件包 library(qdap
例如:
x <- "This is my first sentence"
它给出的输出是
[1] "is my sentence"
事实上,我需要的只是
[1] "is my"
任何帮助都将不胜感激 您需要在结尾处使用
*
来匹配“first”之后的零个或多个字符
gsub('^.*This\\s*|\\s*first.*$', '', x)
#[1] "is my"
另一种方法是使用qdapRegex软件包
library(qdapRegex)
rm_between(x, 'This', 'first', extract=TRUE)[[1]]
# [1] "is my"
由于这个问题被用作参考,我将添加一些可能的解决方案来构建一个完整的概述。两者都基于一个
向前看/向后看正则表达式模式
基本R
regmatches( x, gregexpr("(?<=This ).*(?= first)", x, perl = TRUE ) )
regmatches(x,gregexpr(“(?)?
regmatches( x, gregexpr("(?<=This ).*(?= first)", x, perl = TRUE ) )
stringr::str_extract_all( x, "(?<=This ).+(?= first)" )