【问题标题】:Combining arrays and converting into string组合数组并转换成字符串
【发布时间】:2014-04-25 12:04:07
【问题描述】:

如何组合数组并将它们转换为字符串?我有两个数组:

a = ["09:00", "10:00", "11:00", "12:00"]
b = ["09:30", "10:30", "11:30", "12:30"]

如何获取这种格式的结果字符串?

c = '"09:00" - "09:30", "10:00" - "10:30", "11:00" - "11:30", "12:00" - "12:30"'

【问题讨论】:

    标签: ruby arrays string


    【解决方案1】:

    我愿意:

    a = ["09:00", "10:00", "11:00", "12:00"]
    b = ["09:30", "10:30", "11:30", "12:30"]
    a.zip(b).map { |e1,e2| "\"#{e1}\" - \"#{e2}\"" }.join(', ')
    

    【讨论】:

    • @Mischa 谢谢,,,, 远离 IRB .. 所以无法关注:)
    【解决方案2】:

    这应该可行:

    a.zip(b).map { |e1, e2| "\"#{e1}\" - \"#{e2}\"" }.join(', ')
    

    【讨论】:

      【解决方案3】:

      怎么样:

      a.zip(b).map { |e1, e2| "'#{e1}' - '#{e2}'" }.join(', ')
      

      【讨论】:

        【解决方案4】:

        您可以通过以下方式实现:

        a.each_with_index.map {|e,i| "#{e} - #{b[i]}"}
        
        > a = ["09:00", "10:00", "11:00", "12:00"]
         => ["09:00", "10:00", "11:00", "12:00"]
        > b = ["09:30", "10:30", "11:30", "12:30"]
         => ["09:30", "10:30", "11:30", "12:30"]
        > a.each_with_index.map {|e,i| "#{e} - #{b[i]}"}.join(', ')
         => "\"09:00\" - \"09:30\", \"10:00\" - \"10:30\", \"11:00\" - \"11:30\", \"12:00\" - \"12:30\""
        

        【讨论】:

        • 最终结果应该是字符串,而不是数组;-)
        猜你喜欢
        • 2018-04-27
        • 1970-01-01
        • 1970-01-01
        • 2022-08-02
        • 2017-11-27
        • 1970-01-01
        • 2020-07-01
        • 1970-01-01
        相关资源
        最近更新 更多