Suponha que tenhamos uma string como esta:
Hello, my\n name is Michael.
Como posso remover essa nova linha e separar os espaços depois disso em um dentro da string para conseguir isso?
Hello, my name is Michael.
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 :
fonte
squeeze(' ')
apenas aperta os espaços."Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy"
.A maneira mais simples provavelmente seria
fonte
Experimente isto:
fonte
fonte
\n
idealmente (eu sinto) que deveria ser substituído por um espaço no caso de algo como"Hello,\nMy name is Michael"
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
:Da mesma forma, apenas para retorno de carro
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.fonte
Use String # gsub :
fonte
"Hello,\nMy name is Michael"
. O ideal seria um espaço onde houvesse um\n
fonte
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
Então use
Não requer Rails.
fonte