R中句子的部分匹配词
我希望在R中使用%in%运算符部分匹配字符串,当我在下面运行时,我得到FALSER中句子的部分匹配词,r,regex,R,Regex,我希望在R中使用%in%运算符部分匹配字符串,当我在下面运行时,我得到FALSE 'I just want to partial match string' %in% 'partial' FALSE 在上述情况下,预期输出为真,因为它是部分匹配的,因为您希望部分匹配某个句子,您应该尝试使用%like%from data.table,请检查以下内容 library(data.table) 'I just want to partial match string' %like% 'partial
'I just want to partial match string' %in% 'partial'
FALSE
在上述情况下,预期输出为真,因为它是部分匹配的,因为您希望部分匹配某个句子,您应该尝试使用%like%from data.table,请检查以下内容
library(data.table)
'I just want to partial match string' %like% 'partial'
TRUE
输出结果为真因为您希望部分匹配句子,所以应该尝试使用%like%from data.table,检查下面的内容
library(data.table)
'I just want to partial match string' %like% 'partial'
TRUE
`%in_str%` <- function(pattern,s){
grepl(pattern, s)
}
输出为TRUE您需要将字符串拆分,使其中的每个单词都是向量中自己的元素:
`%in_str%` <- function(pattern,s){
grepl(pattern, s)
}
"partial" %in% unlist(strsplit('I just want to partial match string'," "))
[1] TRUE
strsplit获取一个字符串并将其分解为一个由较短字符串组成的向量。在本例中,它在结尾的空格处断开,这样就得到了单个单词的向量。不幸的是,strstring默认将其结果保存为一个列表,这就是为什么我将其包装为一个unlist-因此我们得到一个向量。
然后我们做%in%,它的工作方向与您使用的方向相反:您试图找出字符串partial在句子中是否为%,而不是相反
当然,这是一种恼人的方式,所以如果你想留在base-R中,最好使用基于grep的解决方案,或者上面Priyanka的data.table解决方案-这两种方法在匹配多个字符串等方面也会更好。您需要对字符串进行strsplite,以便其中的每个单词都是向量中自己的元素:
"partial" %in% unlist(strsplit('I just want to partial match string'," "))
[1] TRUE
strsplit获取一个字符串并将其分解为一个由较短字符串组成的向量。在本例中,它在结尾的空格处断开,这样就得到了单个单词的向量。不幸的是,strstring默认将其结果保存为一个列表,这就是为什么我将其包装为一个unlist-因此我们得到一个向量。
然后我们做%in%,它的工作方向与您使用的方向相反:您试图找出字符串partial在句子中是否为%,而不是相反
当然,这是一种令人恼火的方法,因此,如果您想保持在base-R或上面Priyanka的data.table解决方案内,那么最好使用基于grep的解决方案,这两种解决方案在匹配多个字符串等方面也会做得更好。请参阅grepl'partial','我只想部分匹配字符串'为什么要使用%in%运算符?这正是格雷普的初衷对不起,我是新手。我在一些教程中看到了%中的%。不确定这两个词之间的区别请参见grepl'partial','I just want to partial match string',为什么要使用%in%运算符?这正是格雷普的初衷对不起,我是新手。我在一些教程中看到了%中的%。不确定这两者之间的区别我不明白这一点,我目前的理解有点超前,是的,现在将坚持上述解决方案。谢谢你的深思熟虑,我在答复中补充了一个解释。真的不是先进的东西。我不遵循这一点,有点先进的我目前的理解,是的,现在将坚持上述解决方案。谢谢你的深思熟虑,我在答复中补充了一个解释。真的不是先进的东西。