我需要两个字符串,比较它们,并打印它们之间的差异。
所以说我有:
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/