Ja / Nein-Frage: Gibt es eine Groovy GDK-Funktion, um das erste Zeichen einer Zeichenkette groß zu schreiben?
Ich suche nach einem Groovy-Äquivalent von Perls ucfirst (..) oder Apache Commons StringUtils.capitalize (str) (letzterer setzt den ersten Buchstaben aller Wörter in der Eingabe-Zeichenkette groß).
Ich schreibe das gerade per Hand mit ..
%Vor%.. das funktioniert, aber ich nehme an, dass es einen groovigeren Weg gibt, es zu tun. Ich würde mir vorstellen, dass zuerst (..) eine häufigere Operation ist als center (..), was eine Standardmethode im Groovy GDK ist (siehe Ссылка ).
Nein, nichts direkt in die Sprache eingebaut.
Es gibt ein paar groovigere Möglichkeiten, um das zu tun, was Sie fragen (wenn Sie StringUtils nicht in Java-idiomatischer Weise verwenden wollen, wie Vladimir es vorschlägt).
Sie können Ihre Methode vereinfachen, indem Sie einen negativen Wert in der zweiten Hälfte Ihres Bereichs verwenden:
%Vor%Oder Sie können eine statische Importfunktion verwenden, um sie wie eine native Methode aussehen zu lassen:
%Vor%Sie können die metaClass auch so ändern, dass alle StringUtils-Methoden darauf angewendet werden, sodass sie wie eine GDK-Methode aussieht:
%Vor%Ich kenne keine solche Methode, aber eine Umgehungslösung besteht darin, die Apache Commons-Bibliothek direkt in Ihrem Groovy-Code zu verwenden:
%Vor%Es macht Ihren Groovy-Code ein wenig Java-isch (einige mögen es nicht mögen), aber es macht den Job.
IMO der große Vorteil von Groovy ist, dass Sie sehr einfach alle Java-Bibliotheken nutzen können, die Sie normalerweise mit einer traditionelleren Java-Code-Basis verwenden.
Um es global in Ihrer App verfügbar zu machen, initialisieren Sie diesen Block beim Start einfach
String.metaClass.capitalize = { delegiere [0] .toUpperCase () + delegiere [1 ..- 1] }
Ab Groovy 1.8.2 (erschienen im September 2011), capitalize()
ist eine integrierte Erweiterung zu CharSequence
, die String
implementiert.