我有一个字符串数组。我想将这些重复的字符串更改名称,以附加数字值使它们唯一,如下所示...
原始数组
a, a, A, b, c, D, d
纠正后的数组
a, a1, A2, b, c, D, d1
我已经使用以下代码接近实现此目标;但是,如果字符串的大小写结构不同,则此代码片段当前不会将它们视为重复项。我希望它们被视为重复项,但在结果数组中不改变它们的大小写。
duplicate_counter = 1
duplicates = Array.new
duplicates = file_columns.select{ |e| file_columns.count(e) > 1 } # get duplicate column names
duplicates.each{ |x| file_columns.delete(x) }
duplicates.sort!
duplicates.each_with_index do |d, i|
if i > 0
if d == duplicates[i-1]
d = d.strip + duplicate_count.to_s
duplicate_count += 1
else
duplicate_count = 1
end
end
# Add back the column names, but with the appended numerical counts to make them unique
file_columns.push(d)
end