我有一串由逗號分隔的值,其順序不重要,但值的唯一性是。我想值添加到字符串,我結束了類似管理唯一值的csv字符串
jruby-1.6.7 :009 > ("1,2,3,1".split(",").to_set << "1" << "4").to_a.join ","
=> "1,2,3,4"
這是有效的,但看起來很可怕,去串 - >排列 - >設置 - >排列 - >字符串,這是毫無疑問無效。什麼是簡單的方法來做到這一點?
我有一串由逗號分隔的值,其順序不重要,但值的唯一性是。我想值添加到字符串,我結束了類似管理唯一值的csv字符串
jruby-1.6.7 :009 > ("1,2,3,1".split(",").to_set << "1" << "4").to_a.join ","
=> "1,2,3,4"
這是有效的,但看起來很可怕,去串 - >排列 - >設置 - >排列 - >字符串,這是毫無疑問無效。什麼是簡單的方法來做到這一點?
您可以使用| (聯盟)運營商。 例如
[ "1", "2", "3" ,"1"] | [ "1", "4"]
這應當返還,
["1","2","3","4"]
| (聯合運算符)不會在字符串上工作。所以在你的情況下,可以使用
"1,2,3,4".split(",") | "1,4".split(",")
=> [ 「1」, 「2」, 「3」, 「4」]
[*"1,2,3,1".split(","), "1", "4"].uniq.join ","
require 'csv'
str = "1,2,3,1"
ar = CSV.parse(str)
ar << ["1","4"]
p ar.flatten.uniq.to_csv
嗯,(「1,2 ,3,1「.split(」,「)| [」1「,」4「])。加入」,「看起來像是一個改進..謝謝! – cbmanica 2012-03-19 12:03:15