我需要两个字符串,比较它们,并打印它们之间的差异。
所以说我有:

teamOne = "Billy, Frankie, Stevie, John"
teamTwo = "Billy, Frankie, Stevie"

$ teamOne.eql? teamTwo
=> false

我想说“如果两个字符串不相等,请打印它们之间的不同。在这种情况下,我只是想打印“约翰”。

最佳答案

到目前为止,所有的解决方案都忽略了这样一个事实:第二个数组还可以包含第一个数组没有的元素。Chuck指出了一个解决方案(请参阅其他文章的评论),但是如果您使用SETS,则有一个更优雅的解决方案:

require 'set'

teamOne = "Billy, Frankie, Stevie, John"
teamTwo = "Billy, Frankie, Stevie, Zach"

teamOneSet = teamOne.split(', ').to_set
teamTwoSet = teamTwo.split(', ').to_set

teamOneSet ^ teamTwoSet # => #<Set: {"John", "Zach"}>

如果需要,可以将此集合转换回数组。

关于ruby - 在Ruby中找到字符串之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/426159/

10-12 03:59