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