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

Ruby on rails 在Rails中,如何在显示的文本上创建新行?,ruby-on-rails,ruby,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 %> 我真正需要的是在“)”之后或数字之前换行。如何创建换行符?您可以使

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

7:30 AM - 5:00 PM (M-F) 7:30 AM - 12 PM (Sat)
我在视图中将其显示为:

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


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

您可以使用正则表达式拆分字符串,该正则表达式捕捉第一个括号和紧接其后的AM小时之间的空格,然后用“\”将其连接起来。或者也可以使用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)
str='7:30 AM-5:00 PM(M-F)7:30 AM-12 PM(Sat)'
放置str.split(/(?)?