Antworten:
Check-out Rails- squish
Methode:
some_string.strip.gsub(/\s+/, " ")
genau das, was Squish bewirkt.
squish
Um Rubys eingebauten Squeeze zu veranschaulichen :
string.gsub("\n", ' ').squeeze(' ')
squeeze(' ')
drückt nur Leerzeichen. "Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy"
.
Diese Regex ersetzt die Instanz von 1 oder mehr Leerzeichen durch 1 Leerzeichen. Ps \s
ersetzt alle Leerzeichen, einschließlich \s\t\r\n\f
:
a_string.gsub!(/\s+/, ' ')
Ähnliches gilt nur für Wagenrücklauf
str.gsub!(/\n/, " ")
Ersetzen Sie zuerst alle \n
durch Leerzeichen und verwenden Sie dann den Regex zum Entfernen mehrerer Leerzeichen.
Verwenden Sie String # gsub :
s = "Hello, my\n name is Michael."
s.gsub(/\s+/, " ")
"Hello,\nMy name is Michael"
. Idealerweise möchten Sie einen Raum, in dem es einen\n
Sie können squish
Ruby nur die Methode (und nichts anderes) hinzufügen , indem Sie nur diese Ruby-Facette einschließen:
https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
require 'facets/string/squish'
Dann benutze
"my \n string".squish #=> "my string"
Benötigt keine Schienen.