我有一个客户端,它将数据放入一个文本字段,需要在某个字符后分隔成一个新行。基本上他们给我这个:
7:30 AM - 5:00 PM (M-F) 7:30 AM - 12 PM (Sat)
我在视图中显示它:
<% @region.locations.each do |location| %>
<%= location.hours_operation %>
<% end %>
我真正需要的是在“)”之后或数字之前的换行符之后。如何创建换行符?
答案 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)