有更有效的方法吗?如果没有字符串,我怎么能这样做?
txt <- "I want to extract the words between this and that,this goes with that,this is a long way from that" library(stringr) w_start <- "this" w_end <- "that" pattern <- paste0(w_start,"(.*?)",w_end) wordsbetween <- unlist(str_extract_all(txt,pattern)) gsub("^\\s+|\\s+$","",str_sub(wordsbetween,nchar(w_start)+1,-nchar(w_end)-1)) [1] "and" "goes with" "is a long way from"
这是我在qdap中使用的方法:
原文链接:https://www.f2er.com/regex/356830.html使用qdap:
library(qdap) genXtract(txt,"this","that") ## > genXtract(txt,"that") ## this : that1 this : that2 this : that3 ## " and " " goes with " " is a long way from "
没有添加包:
regmatches(txt,gregexpr("(?<=this).*?(?=that)",txt,perl=TRUE)) ## > regmatches(txt,perl=TRUE)) ## [[1]] ## [1] " and " " goes with " " is a long way from "