在Rails中如何在显示的文本上创建新行?

时间:2018-03-20 14:18:29

标签: ruby-on-rails ruby

我有一个客户端,它将数据放入一个文本字段,需要在某个字符后分隔成一个新行。基本上他们给我这个:

7:30 AM - 5:00 PM (M-F) 7:30 AM - 12 PM (Sat)

我在视图中显示它:

<% @region.locations.each do |location| %>
  <%= location.hours_operation %>
<% end %>

我真正需要的是在“)”之后或数字之前的换行符之后。如何创建换行符?

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式拆分字符串,该表达式捕获第一个括号和紧随其后的AM小时之间的空格,然后将其与&#34; \&#34;连接。或者也使用gsub:

str = '7:30 AM - 5:00 PM (M-F) 7:30 AM - 12 PM (Sat)'

puts str.split(/(?<=\) )/).join("\n")
# 7:30 AM - 5:00 PM (M-F) 
# 7:30 AM - 12 PM (Sat)

puts str.gsub(/(?<=\) )/, "\n")
# 7:30 AM - 5:00 PM (M-F) 
# 7:30 AM - 12 PM (Sat)