Wie nehme ich eine Zeichenfolge und konvertiere sie in Ruby in Klein- oder Großbuchstaben?
1110
Ruby hat einige Methoden, um den Fall von Strings zu ändern. Verwenden Sie zum Konvertieren in Kleinbuchstaben downcase
:
"hello James!".downcase #=> "hello james!"
In ähnlicher Weise wird upcase
jeder Buchstabe groß geschrieben und capitalize
der erste Buchstabe der Zeichenfolge großgeschrieben, der Rest wird jedoch in Kleinbuchstaben geschrieben:
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!"
Wenn Sie eine Zeichenfolge an Ort und Stelle ändern möchten, können Sie jeder dieser Methoden ein Ausrufezeichen hinzufügen:
string = "hello James!"
string.downcase!
string #=> "hello james!"
Weitere Informationen finden Sie in der Dokumentation zu String .
nil
; Sie sollten sie verwenden, wenn Sie ein Objekt an Ort und Stelle ändern möchten, nicht, wenn Sie den Wert in einer anderen Variablen speichern möchten..titleize
ist von Rails. Kann es nicht in der Ruby-String
Dokumentation findentitleize
muss aus dieser Antwort entfernt werden oder zumindest angeben, dass es sich um eine Rails-Methode handelt.Sie können alle für einen String verfügbaren Methoden herausfinden, indem Sie irb öffnen und ausführen:
Und für eine Liste der Methoden, die insbesondere für Zeichenfolgen verfügbar sind:
Ich benutze dies, um neue und interessante Dinge über Objekte herauszufinden, von denen ich sonst vielleicht nicht gewusst hätte, dass sie existieren.
quelle
String.public_instance_methods(false)
diese Option , um alle Methoden für öffentliche Instanzen zu finden, die speziell von definiert sindString
.Wie bereits bei @endeR erwähnt, ist das Juwel unicode_utils mehr als ausreichend, wenn es um Internationalisierung geht.
String-Manipulationen in Ruby 2.4 sind jetzt unicodeempfindlich.
quelle
Die Ruby-
downcase
Methode gibt eine Zeichenfolge zurück, deren Großbuchstaben durch Kleinbuchstaben ersetzt werden.https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
quelle
... und der Großbuchstabe lautet:
quelle
Die Rails Aktive Unterstützung Juwel bietet
upcase
,downcase
,swapcase
,capitalize
etc. Methoden mit Unterstützung der Internationalisierung:quelle
Sie können Strings Methode finden , wie
"strings".methods
Sie Zeichenfolge wie definieren könnenupcase
,downcase
,titleize
. Zum Beispiel,quelle
Die .swapcase- Methode wandelt die Großbuchstaben in einer Zeichenfolge in Kleinbuchstaben und die Kleinbuchstaben in Großbuchstaben um.
quelle
'Testing'.swapcase #=> tESTING
Seit Ruby 2.4 gibt es eine integrierte Unicode-Fallzuordnung . Quelle: https://stackoverflow.com/a/38016153/888294 . Weitere Informationen finden Sie in der Ruby 2.4.0-Dokumentation: https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
quelle
Funktioniert nicht für alle, aber das hat mir viel Zeit gespart. Ich hatte gerade das Problem mit einer CSV, die "TRUE" oder "FALSE" zurückgibt, also habe ich gerade VALUE.to_s.downcase == "true" hinzugefügt, wodurch der boolesche Wert true zurückgegeben wird, wenn der Wert "TRUE" ist, und false, wenn der Wert "FALSE" ist ", funktioniert aber trotzdem für den Booleschen Wert wahr und falsch.
quelle