【问题标题】:How to concatenate strings based on overlap in R?如何根据 R 中的重叠连接字符串?
【发布时间】:2021-02-01 22:10:11
【问题描述】:

我有三个不同的字符串,它们沿着字符匹配并重叠

a = 'ABCDEF'
b = 'DEFGHI'
c = 'FGHIJK'

如何组合这些字符串以获得此输出?

match
[1] 'ABCDEFGHIJK'

【问题讨论】:

  • 你能说得更清楚些吗?如果您输入的是a = 'ABCDEF'b = 'GHIDEF',您希望输出是什么? (即“重叠”到底是什么意思?)
  • 您好!想象一下字符串 a、b 和 c 是子字符串,并遵循该确切和特定的顺序。重叠是指交叉点,即独特意义上的共同角色。例如,a 和 b 由“DEF”重叠,b 和 c 由“FGHI”重叠,如果我们将它们分开,它们会形成 'ABCDEFGHIJK'。您的示例将导致无输出(a = 'ABCDEF' 和 b = 'GHIDEF'),因为它们不重叠。我想把它们从左到右组合起来。

标签: r concatenation string-matching


【解决方案1】:

一个选项可能是:

paste(Reduce(union, sapply(list(a, b, c), strsplit, "")), collapse = "")

[1] "ABCDEFGHIJK"

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 2017-06-04
    • 2015-06-16
    • 1970-01-01
    • 2015-03-15
    • 2014-04-24
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    相关资源
    最近更新 更多