gpt4 book ai didi

ruby-on-rails - 如何用数组中的空格替换破折号

转载 作者:行者123 更新时间:2023-12-04 23:58:50 24 4
gpt4 key购买 nike

如何同时用空格替换破折号和用逗号替换下划线?

我能够用逗号替换下划线,但是当我尝试再次遍历数组时,它给出了一些奇怪的结果。

Controller

  def activity_by_all_city
@cities = ['Abilene_Texas','Akron_Ohio','Albuquerque_New-Mexico','Baton-Rouge_Louisiana']
end

查看

<% @cities.each do |city|%>
<%= link_to city.gsub!(/_/, ', '), 'activities-'+city.parameterize %><br>
<% end %>

最佳答案

您可以使用 String#tr将一组字符替换为另一组字符:

@cities.collect {|city| city.tr('-_', ' ,') }
=> ["Abilene,Texas", "Akron,Ohio", "Albuquerque,New Mexico", "Baton Rouge,Louisiana"]

以上将创建一个新列表,保持原始 @cities 字符串不变。如果您使用破坏性版本(String#tr!),字符串将被修改,使 @cities 保留翻译后的城市名称:

@cities.each {|city| city.tr!('-_', ' ,') }
=> ["Abilene,Texas", "Akron,Ohio", "Albuquerque,New Mexico", "Baton Rouge,Louisiana"]
@cities
=> ["Abilene,Texas", "Akron,Ohio", "Albuquerque,New Mexico", "Baton Rouge,Louisiana"]

(此原则适用于所有“破坏性”方法,也适用于 gsub!,它们会改变所应用的对象。)

关于ruby-on-rails - 如何用数组中的空格替换破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198590/

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