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() ?

24voto

mahemoff Punkte 41244

split.join löscht alle Leerzeichen in der Zeichenkette.

"  a b  c    d     ".split.join
> "abcd"

Er ist einfach zu tippen und zu merken und eignet sich daher gut für die Konsole und zum schnellen Hacken. In ernsthaftem Code ist es allerdings nicht willkommen, da es die Absicht verschleiert.

(Basierend auf dem Kommentar von Piotr in Justikels Antwort oben).

20voto

Justicle Punkte 14058

Vergessen Sie auch nicht:

$ s = "   I have white space   ".split
=> ["I", "have", "white", "space"]

20voto

EBooker Punkte 346

Sie könnten dies versuchen

"Some Special Text Values".gsub(/[[:space:]]+/, "")

mit :space: entfernt den nichtbrechenden Raum zusammen mit dem regulären Raum.

10voto

euccas Punkte 707

Verwenden Sie gsub oder delete. Der Unterschied besteht darin, dass gsub Tabs entfernen kann, delete hingegen nicht. Manchmal gibt es Tabs in Dateien, die von den Editoren hinzugefügt werden.

a = "\tI have some whitespaces.\t"
a.gsub!(/\s/, '')  #=>  "Ihavesomewhitespaces."
a.gsub!(/ /, '')   #=>  "\tIhavesomewhitespaces.\t"
a.delete!(" ")     #=>  "\tIhavesomewhitespaces.\t"
a.delete!("/\s/")  #=>  "\tIhavesomewhitespaces.\t"
a.delete!('/\s/')  #=>  using single quote is unexpected, and you'll get "\tI have ome whitepace.\t"

7voto

bdbasinger Punkte 175

Die gsub-Methode reicht völlig aus.
Die gsub-Methode kann auf eine Zeichenkette angewendet werden und sagt:

a = "this is a string"
a = a.gsub(" ","")
puts a
#Output: thisisastring

Die Methode gsub sucht nach jedem Vorkommen des ersten Arguments und ersetzt es durch das zweite Argument. In diesem Fall wird jedes Leerzeichen in der Zeichenkette ersetzt und entfernt.

Ein weiteres Beispiel:

b = "the white fox has a torn tail"

Ersetzen wir jedes Vorkommen des Buchstabens "t" durch ein großes "T".

b = b.gsub("t","T")
puts b 
#Output: The whiTe fox has a Torn Tail

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