die folgende Zeichenfolge Gegeben:Split String - der cartesianischen Weg
"foo bar-baz-zzz"
Ich möchte es an den Zeichen spalten „“ und „-“, dessen Wert erhalten, sondern alle Kombinationen von Eingaben zu erhalten.
i
{{"foo", "bar", "baz", "zzz"}
,{"foo bar", "baz", "zzz"}
,{"foo", "bar-baz", "zzz"}
,{"foo bar-baz", "zzz"}
,{"foo", "bar", "baz-zzz"}
,{"foo bar", "baz-zzz"}
,{"foo", "bar-baz-zzz"}
,{"foo bar-baz-zzz"}}
Gibt es eine integrierte Methode in Java, die ein zweidimensionales Array erhalten möchten die Zeichenfolge auf diese Weise zu spalten? Vielleicht in einer Bibliothek wie Apache Commons? Oder muss ich eine Wand aus For-Schleifen schreiben?
Dies ist die beste Antwort, nur Aufspalten mit "-" wird nicht funktionieren. –
können Sie einige böse Ecke Fälle vermeiden, indem sie die ersten Zeilen an sich ändernde: if (pos == str.length()) { \t \t \t if (sb.length()> 0) { \t \t \t \t currentResult .add (sb.toString()); \t \t \t \t ErgebnisseSoFar.add (currentResult); \t \t \t} –
@Andreas: Ist das ein Eckfall? Wenn die Zeichenfolge mit einem Begrenzer endet, war ich nicht sicher, ob das Ergebnis die leere Zeichenfolge als mögliches Token enthalten soll oder nicht. – Adamski