我想用重新匹配和gregexpr或sub.从列中将一个或两个单词放在模式之前。
state<-regmatches(data[,2], gregexpr(??? , data[,2])) # California
type<-regmatches(data[,2], gregexpr( ??? , data[,2])) # Valencia这是一个例句,我没有分别提取以前的单词。
sample<-" 2018 summer California Valencia orange"
sub("[O|o]range.*","",sample)
[1] " 2018 summer California Valencia "我如何在模式之前划分一个字符,在模式之前划分两个前一个字符?
发布于 2020-05-25 21:54:34
我们可以使用regex查找来提取空格(\\s*)和‘橙色’子字符串之前的单词(\\s*)。
regmatches(sample, regexpr("(\\w+)(?=\\s*[Oo]range)", sample, perl = TRUE))
#[1] "Valencia"在第二种情况下,将“查找”更改为在“橙色”之前包含一个单词和空格
regmatches(sample, regexpr("(\\w+)(?=\\s*\\w+\\s*[Oo]range)", sample, perl = TRUE))
#[1] "California"https://stackoverflow.com/questions/62011330
复制相似问题