Ich versuche,
zu verwenden %Vor%Problem ist, dass ich die leeren Ergebnisse einschließen möchte.
Es gibt zurück: [value1, value2, value3]
Es sollte sein: [value1, value2, , value3]
Kennt jemand die Regexp, um das zu beheben?
Ok, ich habe ein Problem gefunden. Ich lese gerade eine Textdatei und sie enthält diese Zeile:
%Vor%Wenn ich diese Zeile lese, die die Textdatei liest, erzeugt sie das oben erwähnte fehlerhafte Ergebnis, das in solchen Fällen keine leeren Ergebnisse enthält: :::::.
Aber wenn ich die obige Zeile in einem Testprogramm verwende, kompiliert es nicht und ich bekomme eine "ungültige Escape-Sequenz". Ich denke es ist wegen der "\ & amp;".
Gibt es eine Problemumgehung für dieses Problem, indem Sie einen regulären Ausdruck verwenden?
split
nicht leer Spiele in der Folge enthalten, haben einen Blick auf die Dokumente hier . Jedoch standardmäßig nachlauf leere Zeichenkette (die am Ende des Arrays) werden verworfen. Wenn Sie diese ebenfalls hinzufügen möchten, versuchen Sie split(":", -1)
.
Ich sehe das große Los nicht wirklich. StringTokenizer funktioniert genauso gut für die meisten Dinge wie diese und wird leicht die Token zurücksenden (damit Sie sagen können, dass es nichts dazwischen gab).
Ich wünschte nur, es hätte mit der erweiterten for-Schleife ein wenig besser funktioniert, aber abgesehen davon würde es nicht schaden, es zu versuchen.
Ich denke, es gibt einen Regexp-Trick, damit Ihre gepaarten Tokens zurückkommen, aber ich bin 20 Jahre gegangen, ohne Regexp zu lernen, und es war noch nie die beste Antwort auf jedes Problem, das ich angepackt habe wissen, da ich es nie benutze, aber die non-regexp Lösungen sind in der Regel zu leicht zu schlagen.)
Verwenden Sie ein negatives Limit in Ihrer Split-Anweisung:
%Vor%Ergebnisse:
%Vor% Das sollte funktionieren, aber gib StringTokenizer
weiter, wenn du immer noch Probleme hast.