Supposons que nous ayons une chaîne comme celle-ci:
Hello, my\n name is Michael.
Comment puis-je supprimer cette nouvelle ligne et supprimer ces espaces après cela en un à l'intérieur de la chaîne pour obtenir cela?
Hello, my name is Michael.
some_string.strip.gsub(/\s+/, " ")
ce que fait exactement squish.squish
Pour illustrer Rubys intégré dans Squeeze :
la source
squeeze(' ')
serre juste les espaces."Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy"
.Le moyen le plus simple serait probablement
la source
Essaye ça:
la source
la source
\n
idéal (je pense) qu'il devrait être remplacé par un espace dans le cas de quelque chose comme"Hello,\nMy name is Michael"
cette expression régulière remplacera l'instance de 1 ou plusieurs espaces blancs par 1 espace blanc, ps
\s
remplacera tous les caractères d'espaces blancs qui incluent\s\t\r\n\f
:De même pour le retour chariot uniquement
Tout d'abord, remplacez tout
\n
par un espace blanc, puis utilisez l'expression régulière remove multiple white space.la source
Utilisez String # gsub :
la source
"Hello,\nMy name is Michael"
. Idéalement, vous voudriez un espace où il y a un\n
la source
Vous pouvez ajouter uniquement la
squish
méthode (et rien d'autre) à Ruby en incluant uniquement cette facette Ruby:https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
Ensuite, utilisez
Ne nécessite pas de rails.
la source