是否有(简单)可能识别两个字符串共享的公共模式?
这是一个小例子来阐明我的意思:
我有两个包含字符串的变量。两者都包含相同的模式(“ABC”)以及一些“噪音”。
a <- "xxxxxxxxxxxABCxxxxxxxxxxxx"
b <- "yyyyyyyyyyyyyyyyyyyyyyyABC"
假设我不知道常见模式,并且我希望 R 找出两个字符串都包含“ABC”。我怎样才能做到这一点?
*edit
第一个例子可能有点过于简单化。这是我的真实数据的一个例子。
a <- "DUISBURG-HAMBORNS"
b <- "DUISBURG (-31.7.29)S"
这两个字符串都包含“DUISBURG”,我希望函数能够识别它。
*edit
我采用了评论中发布的链接中提出的解决方案。但我仍然没有得到我想要的。
library(qualV)
LCS(strsplit(a[1], '')[[1]],strsplit(b[1], '')[[1]])$LCS
[1] "D" "U" "I" "S" "B" "U" "R" "G" "-" " " " " "S"
如果函数正在寻找两个向量的最长公共子序列,为什么它不在之后停止"D" "U" "I" "S" "B" "U" "R" "G"
? .