gpt4 book ai didi

ruby-on-rails - 如何从 Ruby 中的另一个数组创建一个重复的不区分大小写的字符串数组?

转载 作者:数据小太阳 更新时间:2023-10-29 07:55:48 24 4
gpt4 key购买 nike

我有一个字符串数组。我想更改这些重复字符串的名称以附加一个数值以使它们像这样独一无二......

原始数组

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

最佳答案

你想多了。我相信还有更好的方法可以做到这一点,但它可以完成工作。

a = ['a', 'a', 'A', 'b', 'c', 'D', 'd']
letters = Hash.new(-1)
a.map do |letter|
l = letter.downcase
letters[l] += 1
if (letters[l] > 0)
"#{letter}#{letters[l]}"
else
"#{letter}"
end
end

关于ruby-on-rails - 如何从 Ruby 中的另一个数组创建一个重复的不区分大小写的字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26852283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com