Ответы:
проверьте squish
метод Rails :
some_string.strip.gsub(/\s+/, " ")
именно то, что делает squish.
squish
Чтобы проиллюстрировать Rubys, встроенный в squeeze :
string.gsub("\n", ' ').squeeze(' ')
squeeze(' ')
просто сжимает пробелы. "Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy"
.
это регулярное выражение заменит экземпляр 1 или более пробелов на 1 пробел, ps \s
заменит все символы пробелов, включая \s\t\r\n\f
:
a_string.gsub!(/\s+/, ' ')
Аналогично только для возврата каретки
str.gsub!(/\n/, " ")
Сначала замените все \n
пробелом, затем используйте регулярное выражение удаления нескольких пробелов.
Используйте String # gsub :
s = "Hello, my\n name is Michael."
s.gsub(/\s+/, " ")
"Hello,\nMy name is Michael"
. В идеале вам нужно место, где есть\n
Use squish
currency = " XCD"
str = currency.squish
str = "XCD" #=> "XCD"
Вы можете добавить squish
в Ruby только метод (и ничего больше), включив только этот Ruby Facet:
https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
require 'facets/string/squish'
Затем используйте
"my \n string".squish #=> "my string"
Не требует Rails.