說我有3個字符串數組:比較字符串並打印出匹配(紅寶石)
strings = ["/I/love/bananas", "/I/love/blueberries", "/I/love/oranges"]
我想比較我的3串並打印出這個新的字符串:
new_string = "/I/love"
我不想按字符匹配char,只能逐字逐句匹配。有沒有人有一個聰明的方式來做到這一點?
由於良好的令牌將我做這個醜陋的代碼顯示什麼功能,我在尋找:
strings = ["/I/love/bananas", "/I/love/blueberries", "/I/love/oranges"]
benchmark = strings.first.split("/")
new_string = []
strings.each_with_index do |string, i|
unless i == 0
split_string = string.split("/")
split_string.each_with_index do |elm, i|
final_string.push(elm) if elm == benchmark[i] && elm != final_string[i]
end
end
end
final_string = final_string.join("/")
puts final_string # => "/I/love"
當你想輸出''/ I/love''?你想比較哪些東西?根據你想要產生最終產出的結果? –
嗨。我想比較字符串匹配。如果例如基準[1]是「愛」,所有其他字符串在索引1處都有「愛」,我想將「愛」打印到我的new_string中。現在我想到了,但是我的實例代碼太糟糕了,因爲如果我添加一個字符串就會破壞我的邏輯。 「I/love/bananas/as/well」,或者多一個「我/愛/香蕉」。 – JohnSmith1976
增加了一個答案。希望它能幫助你。 –