【问题标题】:Compare two strings and look for differences and display them for easy viewing in R (similar to git diff)?比较两个字符串并查找差异并显示它们以便在 R 中轻松查看(类似于 git diff)?
【发布时间】:2020-11-10 00:06:11
【问题描述】:

假设我有两个相当长(>100k 个字符)的字符串,它们大部分相同,但在某些位置有所不同。

Git 有“差异”的概念,它只显示两个(文本)文件之间的差异。

R 中是否有类似的东西,我可以提供两个字符串并让它返回一个非常“人类可读”的摘录,只显示差异以便轻松清晰地进行视觉检查?

期望的输出

最好是一个简单的函数调用,它接受两个(相似的)字符串作为参数,查找这两个字符串之间的差异,并在 R 控制台或绘图窗格中并排显示字符串中不同的部分。

some_function(first_string, second_string) 

【问题讨论】:

    标签: r stringr


    【解决方案1】:

    有一个差异查看器包:

    install.packages("diffobj")
    library(diffobj)
    diffObj(first_string, second_string)
    

    【讨论】:

    • 您知道一种将它们输出到可重现示例中的简单方法吗?例如。使用reprex 包...?
    • @BryanShalloway 如果在 reprex 中使用上述代码会发生什么?
    • 包维护者在 Twitter 上发布了 reprex 的方法:twitter.com/BrodieGaslam/status/1258573421488848897?s=19
    • @BryanShalloway 非常好,感谢调查/分享
    • 还可以查看新的 waldo 包。
    【解决方案2】:

    使用最近创建的waldo 包的另一种方法。

    library(waldo)
    library(tidyverse)
    
    a <- "Y2xpZW50X2lkOjRjNDY1OGM1NzM"
    b <- "Y2xpZW50X2lkOjRjNOY1OGM1NzM"
    compare(a %>% str_split(pattern = ""),
            b %>% str_split(pattern = ""))
    

    【讨论】:

      猜你喜欢
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多