gpt4 book ai didi

R grepl - 将模式与字符串匹配

转载 作者:行者123 更新时间:2023-12-01 16:20:02 28 4
gpt4 key购买 nike

我在 R 中使用 grepl() 将模式与字符串进行匹配。

我需要将多个字符串与一个公共(public)字符串匹配,如果它们全部匹配,则返回 TRUE。

例如:

a <- 'DEARBORN TRUCK INCDBA'
b <- 'DEARBORN TRUCK INC DBA'

我想看看变量 b 中的所有单词是否也在变量 a 中。

我不能只使用 grepl(b, a),因为模式(空格)不一样。

看起来应该是这样的:

grepl('DEARBORN&TRUCK&INC&DBA', a)

grepl('DEARBORN+TRUCK+INC+DBA', a)

但都不起作用。我需要将 b 和 a 中的每个单词进行比较。在本例中,由于 a 中存在所有单词,因此它应该返回 TRUE。

谢谢!

最佳答案

使用 strsplitb 拆分为单词,然后使用 sapply 对每个这样的单词执行 grepl 。结果将是一个逻辑向量,如果全部为 TRUE,则返回 TRUE:

all(sapply(strsplit(b, " ")[[1]], grepl, a))

给予:

[1] TRUE

注意:如果您只想确定 ab 除了空格之外是否相同,请从两者中删除空格比较剩下的:

gsub(" ", "", a) == gsub(" ", "", b)

关于R grepl - 将模式与字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27786117/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com