【问题标题】:Using grep to partial match a string使用 grep 部分匹配字符串
【发布时间】:2014-10-23 13:12:21
【问题描述】:

我正在寻找两个字符串之间的部分匹配,如果所有单词都匹配,则条件将返回 true,否则返回 false。 例如

myElem <- "a b"

匹配时返回true
nElem <- "a b c" 

nElem<- "d g b a",

但是如果

nElem <- "d c g a"

谁能建议一种使用 grep 或其他功能的方法?提前致谢。

还有学习 grep 选项基础知识的教程吗?

【问题讨论】:

  • 如果您想匹配 无序 单词列表,grep 或其他正则表达式工具不是一个选项。只需几行 Python(或您选择的任何其他脚本语言)即可实现您想要做的事情。
  • @DavidArenburg 我的错误,我错过了r 标签并且不知道 grep 是一个 R 函数。不过,我认为我对 grep 不适合这个问题的评论适用。
  • @RichardScriven,这看起来像 OP 之后的内容,我建议将其发布为答案。虽然我从不信任 agrep 太多,但在这种特殊情况下似乎是防弹的

标签: r regex


【解决方案1】:

你试过agrepl吗?如有必要,您可以调整 max.distancecosts 参数。

x <- c("a b c", "d g b a", "d c g a")
agrepl("a b", x)
# [1]  TRUE  TRUE FALSE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 2019-10-18
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多