gpt4 book ai didi

arrays - 将多个变量组合成一个字符串并添加逗号

转载 作者:太空宇宙 更新时间:2023-11-03 18:05:19 25 4
gpt4 key购买 nike

我有多个字符串:

address_1 = '226'
address_2 = 'Virginia Ave'
address_city = 'Trenton'
address_state = 'NJ'
address_country = 'US'
address_postal_code = '08610'

我试图将它们组合成一个字符串,彼此之间用逗号分隔,如下所示:

"226 Virginia Ave, Trenton, NJ, 08610, US"

我如何将我的变量组合成一个字符串,使用逗号分隔它们,并且在任何变量丢失的情况下,不显示额外的逗号?

我这样做了:

(address_1.to_s + ' ' + address_2.to_s + ' ' + address_city.to_s + ' ' + address_state.to_s + ' ' + address_postal_code.to_s + ' '  + address_country.to_s).squish

这给出了这样的输出:

"226 Virginia Ave Trenton NJ 08610 US"

发生这种情况是因为我添加了空格 + ' ' +。如果我执行 + ', ' +,以防任何 address_nil 或为空,它仍会显示额外的 ,地址最终看起来像这样:

"226 Virginia Ave, , , 08610, US"

最佳答案

address_1 = '226'
address_2 = 'Virginia Ave'
address_city = 'Trenton'
address_state = 'NJ'
address_country = 'US'
address_postal_code = '08610'

["#{address_1} #{address_2}", address_city, address_state, address_country, address_postal_code].map{|line| line.to_s.strip}.select{|line| !line.empty?}.join(', ')

这会将所有地址元素放在一个数组中,映射以将所有行更改为剥离的字符串,然后选择不为空的行,然后使用逗号和空格连接。

第一个元素是 address_1 和 address_2 的组合,以避免门牌号后有逗号。

关于arrays - 将多个变量组合成一个字符串并添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47901385/

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