Angenommen, wir haben eine Zeichenfolge wie diese:
Hello, my\n name is Michael.
Wie kann ich diese neue Zeile entfernen und diese Leerzeichen danach in eine innerhalb der Zeichenfolge entfernen, um dies zu erhalten?
Hello, my name is Michael.
some_string.strip.gsub(/\s+/, " ")
genau das, was Squish bewirkt.squish
Um Rubys eingebauten Squeeze zu veranschaulichen :
quelle
squeeze(' ')
drückt nur Leerzeichen."Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy"
.Der einfachste Weg wäre wahrscheinlich
quelle
Versuche dies:
quelle
quelle
\n
Ideal entfernen (ich denke), es sollte durch ein Leerzeichen ersetzt werden, falls so etwas wie"Hello,\nMy name is Michael"
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
:Ähnliches gilt nur für Wagenrücklauf
Ersetzen Sie zuerst alle
\n
durch Leerzeichen und verwenden Sie dann den Regex zum Entfernen mehrerer Leerzeichen.quelle
Verwenden Sie String # gsub :
quelle
"Hello,\nMy name is Michael"
. Idealerweise möchten Sie einen Raum, in dem es einen\n
quelle
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
Dann benutze
Benötigt keine Schienen.
quelle