Supprimer plusieurs espaces et de nouvelles lignes à l'intérieur de la Chaîne
Supposons que nous avons chaîne comme ceci:
Hello, my\n name is Michael.
Comment puis-je supprimer la nouvelle ligne et de la bande de ces espaces après que dans l'une à l'intérieur de la chaîne pour obtenir cela?
Hello, my name is Michael.
Vous devez vous connecter pour publier un commentaire.
découvrez les Rails
squish
méthode:http://apidock.com/rails/String/squish
some_string.strip.gsub(/\s+/, " ")
qui est exactement ce que squish n'.squish
Pour illustrer Rubys construit en squeeze:
squeeze(' ')
juste comprime espaces."Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy"
.La façon la plus simple serait probablement de
Essayez Ceci:
\n
idéalement (je me sens), il faut le remplacer par un espace dans le cas de quelque chose comme"Hello,\nMy name is Michael"
cette regex remplacera exemple de 1 ou plusieurs espaces blancs avec 1 espace blanc, p.s
\s
va remplacer tous les caractères espace blanc qui comprend\s\t\r\n\f
:De la même façon que pour le transport de retour
Tout d'abord remplacer tous les
\n
avec l'espace blanc, puis utilisez la suppression de plusieurs espaces blancs regex.Utilisation String#gsub:
"Hello,\nMy name is Michael"
. Idéalement, vous voulez un espace où il y a un\n
Vous pouvez ajouter la
squish
méthode (et rien d'autre) à Ruby en incluant simplement ce Rubis Facette:https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
Ensuite utiliser
Ne nécessite pas de Rails.