Im Moment benutze ich
%Vor% trennt die Eingabezeichenfolge mit dem angegebenen Trennzeichen ( ,
).
Beispiel Eingabedaten:
%Vor%Ausgabe
%Vor%Aber mit folgender Eingabe:
%Vor%Es gibt nur
zurück %Vor%Was ich brauche, ist nur ein leeres String-Objekt:
%Vor%Wie kann ich das erreichen?
Sie können einfach die String.split (..) Methode, keine Notwendigkeit für StringUtils:
%Vor%Sie könnten diesen überladenen split () verwenden
%Vor%Der Parameter limit steuert, wie oft das Muster angewendet wird und beeinflusst daher die Länge des resultierenden Arrays. Wenn das Limit n größer als Null ist, wird das Muster höchstens n - 1 Mal angewendet, die Länge des Arrays ist nicht größer als n und der letzte Eintrag des Arrays enthält alle Eingaben nach dem letzten übereinstimmenden Trennzeichen
Weitere Informationen finden Sie unter spalten
Der gewöhnliche String.split
macht das, wonach du suchst.
"a,,h".split(",")
ergibt { "a", "", "h" }
.
Teilen Sie die Zeichenfolge mit dem angegebenen Trennzeichen, ohne leere Elemente zu entfernen.
Verwenden Sie die Methode org.apache.commons.lang.StringUtils.splitByWholeSeparatorPreserveAllTokens()
Vorteil gegenüber anderen Methoden verschiedener Klassen:
String.Split()
methode take's regex als Parameter, also würde es für einige Zeichen als Trennzeichen funktionieren, aber nicht für alle zB: pipe (|), etc. Wir müssen ein Escape-Zeichen an die Pipe (|) anhängen, damit es gut funktioniert.
Tokenizer
(String oder Stream) - Überspringt den leeren String zwischen delimiter's
.