【问题标题】:R-Partial string matchesR-部分字符串匹配
【发布时间】:2020-03-05 00:57:34
【问题描述】:

我有

x <- c("DOL3", "AnnA", "CAT5", "Johna", "543QLARA", "Poro")
y <- c("3QLAR", "DOL5", "CAT5", "ANNA", "John", "Sam")

我想要一个函数,以便提供如下匹配:

my_function(x, y)

[1] 1、2、3、4、5,不适用

详细信息:我需要找到开头相同、结尾相同或中间有一些相同字母的部分字符串匹配(例如,3 个连续匹配字母的默认值)。无论是否使用大写字母,我还需要该功能进行匹配。最后,我需要该函数来搜索从 x 到 y 的所有元素之间的每个元素的匹配,而不是元素的一对一比较。

如果有人熟悉解决此问题的方法,请提供帮助。 谢谢。

【问题讨论】:

  • 查看语音包。
  • 感谢您的提示,但此算法基于语音,例如 DOL3 和 DAL3 将给出相同的结果。

标签: r matching string-matching partial partial-matches


【解决方案1】:

我想我找到了答案。

my_function_2 <- function(x, y) {
    for (i in 1:length(x)) {
     print(which(grepl(substring(x[i],1 ,3 ), y, ignore.case = TRUE)))
    }
}

它并不优雅(x 必须包含较小的术语(即“3QLAR”而不是“543QLARA”)),它并没有涵盖所有内容,但它必须做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 2020-09-24
    • 2014-08-07
    相关资源
    最近更新 更多