663 Stimmen

Ruby-Funktion zum Entfernen aller Leerzeichen?

Wie lautet die Ruby-Funktion zum Entfernen von todo weiße Flecken? Ich bin auf der Suche nach etwas ähnlichem wie PHPs trim() ?

927voto

joel.neely Punkte 30189

Wenn Sie nur führende und nachgestellte Leerzeichen entfernen wollen (wie PHPs trim), können Sie .strip , aber wenn Sie die todo Leerzeichen, können Sie verwenden .gsub(/\s+/, "") stattdessen.

563voto

Ed S. Punkte 118985
s = "I have white space".delete(' ')

Und zur Nachahmung von PHPs trim() Funktion:

s = "   I have leading and trailing white space   ".strip

199voto

ndnenkov Punkte 34206

String#strip - entfernt alle Leerzeichen am Anfang und am Ende.

String#lstrip - gleich von Anfang an.

String#rstrip - nur vom Ende her.

String#chomp (ohne Argumente) - löscht Zeilentrenner ( \n o \r\n ) vom Ende her.

String#chop - löscht das letzte Zeichen.

String#delete - x.delete(" \t\r\n") - löscht alle aufgeführten Leerzeichen.

String#gsub - x.gsub(/[[:space:]]/, '') - entfernt alle Leerzeichen, einschließlich Unicode-Einstellungen .


Nota : Alle oben genannten Methoden geben eine neue Zeichenkette zurück, anstatt das Original zu verändern. Wenn Sie die Zeichenkette an Ort und Stelle ändern wollen, rufen Sie die entsprechende Methode mit ! am Ende.

180voto

jrhicks Punkte 14251

Verwandte Antwort:

"   clean up my edges    ".strip

gibt zurück.

"clean up my edges"

140voto

Radhika Punkte 2253

Wenn Sie Rails/ActiveSupport verwenden können Sie verwenden squish Methode. Sie entfernt Leerzeichen an beiden Enden der Zeichenkette und fasst mehrere Leerzeichen zu einem einzigen Leerzeichen zusammen.

Zum Beispiel.

" a  b  c ".squish

führt zu:

"a b c"

Siehe diese Referenz von api.rubyonrails.org .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X