Swdifft 是一个基于最长公共子序列的字符串差异库。
使用 diff 函数,Swdifft 标记了左侧和右侧字符串之间的差异。
let result = diff("ABCDEFGHIJ", "ABCDEFG")
print(result.lhs) // ABCDEFG`HIJ`
print(result.rhs) // ABCDEFG
如果是反向的。
let result = diff("ABCDEFG", "ABCDEFGHIJ")
print(result.lhs) // ABCDEFG
print(result.rhs) // ABCDEFG*HIJ*
并且可以打印差异。
printDiff("ABCDEFGHIJ", "ABCDEFG")
结果。
ABCDEFG`HIJ`
ABCDEFG
当字符串存在差异时,Swdifft 会标记符号。 可以自定义标记,通过使用这些全局变量从默认设置进行更改。
beginLHSMark = "%" // Default is `
endLHSMark = "%" // Default is `
beginRHSMark = "&" // Default is *
endRHSMark = "&" // Default is *