Wie lautet die Ruby-Funktion zum Entfernen von todo weiße Flecken? Ich bin auf der Suche nach etwas ähnlichem wie PHPs trim()
?
Antworten
Zu viele Anzeigen?"1232 23 2 23 232 232".delete(' ')
=> "123223223232232"
Löschen geht schneller =)
user system total real
gsub, s 0.180000 0.010000 0.190000 (0.193014)
gsub, s+ 0.200000 0.000000 0.200000 (0.196408)
gsub, space 0.220000 0.000000 0.220000 (0.222711)
gsub, join 0.200000 0.000000 0.200000 (0.193478)
delete 0.040000 0.000000 0.040000 (0.045157)
Ruby's .strip
Methode führt das PHP-Äquivalent zu trim()
.
Um alle Leerzeichen zu entfernen:
" leading trailing ".squeeze(' ').strip
=> "leading trailing"
@Tass hat mich darauf aufmerksam gemacht, dass meine ursprüngliche Antwort doppelte Buchstaben hintereinander entfernt - Igitt! Ich bin inzwischen auf die Squish-Methode umgestiegen, die bei Verwendung des Rails-Frameworks intelligenter mit solchen Vorkommnissen umgeht.
require 'active_support/all'
" leading trailing ".squish
=> "leading trailing"
" good men ".squish
=> "good men"
Es ist ein bisschen spät, aber alle, die diese Seite googeln, könnten an dieser Version interessiert sein -
Wenn Sie einen vorformatierten Text bereinigen möchten, den ein Benutzer irgendwie ausgeschnitten und in Ihre Anwendung eingefügt hat, aber die Wortabstände beibehalten möchten, versuchen Sie dies:
content = " a big nasty chunk of something
that's been pasted from a webpage or something and looks
like this
"
content.gsub(/\s+/, " ").strip
#=> "a big nasty chunk of something that's been pasted from a webpage or something and looks like this"