Es gibt eine Möglichkeit, dies zu tun. Es ist nicht besonders schön. Es geht darum, die Zeichenfolge Zeichen für Zeichen zu durchlaufen. Wenn du ein "[" erreichst, fängst du an, die Charaktere in ein neues Token zu setzen. Wenn du ein "]" erreichst, hörst du auf. Dies würde am besten unter Verwendung einer Datenstruktur, nicht eines Arrays, erfolgen, da Arrays von statischer Länge sind.
Eine andere Lösung, die möglicherweise möglich ist, ist die Verwendung von Regexen für die Split-Split-Methode des Strings. Das einzige Problem, das ich habe, ist mit einer Regex zu kommen, die sich teilen würde, wie Sie es wollen. Was ich mir vorstellen kann, ist {] Zeichenkette [] XOR (Zeichenkette [] XOR (] Zeichenkette) Jede Klammer steht für eine andere Regex. Sie sollten sie in dieser Reihenfolge auswerten, damit Sie nichts versehentlich entfernen. Ich bin nicht vertraut mit Regexes in Java, also habe ich "Zeichenkette" verwendet, um anzuzeigen, dass es Zeichen zwischen den Klammern gibt.
Sind Ihre Token ein Zeichen nur oder dürfen sie länger sein? – glmxndr
kann länger sein - mein Beispiel war der Einfachheit halber aber die Start-Zeichenfolge könnte "foo" und die End-Zeichenfolge könnte "bar" sein. – digiarnie
Sieht aus wie Apache Commons Lang - StringUtilsStringsBetween (string, öffnen, schließen) ist, was Sie brauchen. Funktioniert gemäß obiger Anforderung, siehe Antwort unten für weitere Details. – Jon