0
我需要做的部分字符串匹配R:部分字符串匹配在R,除了用grep
eg: str1<-"here we go"
str2<-"here we go another way"
我需要做的事情,如grep(STR1,STR2),即。无论str1是否在str2中,输出都应返回。一种方法是grep,但grep运行速度非常慢。这怎么能以更快的速度完成呢?
谢谢
我需要做的部分字符串匹配R:部分字符串匹配在R,除了用grep
eg: str1<-"here we go"
str2<-"here we go another way"
我需要做的事情,如grep(STR1,STR2),即。无论str1是否在str2中,输出都应返回。一种方法是grep,但grep运行速度非常慢。这怎么能以更快的速度完成呢?
谢谢
例如使用grepl
。这里包装功能:
str1 <- "here we go"
str2 <- "here we go another way"
`%instr%` <-
function(s1,s2) grepl(s1,s2) || grepl(s2,s1)
str1 %instr% str2
## [1] TRUE
是否始终在str1的开始处常见部分? (如果是这样,也许'substr(str2,1,nchar(str1))== str1'更快?) – Cath
尝试添加',fixed = TRUE',尽管我很惊讶'grep'很慢。你在循环内运行它吗? –
另请尝试stringi包中的'stri_detect_fixed'。 –