Respostas:
verifique o squish
método Rails :
some_string.strip.gsub(/\s+/, " ")
exatamente o que o squish faz.
squish
Para ilustrar o Rubys embutido no squeeze :
string.gsub("\n", ' ').squeeze(' ')
squeeze(' ')
apenas aperta os espaços. "Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy"
.
esta regex substituirá a instância de 1 ou mais espaços em branco por 1 espaço em branco, o ps \s
substituirá todos os caracteres de espaço em branco que incluem \s\t\r\n\f
:
a_string.gsub!(/\s+/, ' ')
Da mesma forma, apenas para retorno de carro
str.gsub!(/\n/, " ")
Primeiro, substitua tudo \n
por espaço em branco e, em seguida, use a expressão regular para remover vários espaços em branco.
Use String # gsub :
s = "Hello, my\n name is Michael."
s.gsub(/\s+/, " ")
"Hello,\nMy name is Michael"
. O ideal seria um espaço onde houvesse um\n
Use squish
currency = " XCD"
str = currency.squish
str = "XCD" #=> "XCD"
Você pode adicionar apenas o squish
método (e nada mais) ao Ruby incluindo apenas esta faceta do Ruby:
https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
require 'facets/string/squish'
Então use
"my \n string".squish #=> "my string"
Não requer Rails.