In Java verwende ich die String-Split-Methode, um eine Zeichenfolge zu trennen, die durch Semikolons getrennte Werte enthält.Wie spalte ich eine Zeichenfolge unter Verwendung eines regulären Ausdrucks, der eine maskierte Version meines Tokens ausschließt?
Derzeit habe ich die folgende Zeile, die in 99% aller Fälle funktioniert.
String[] fields = optionsTxt.split(";");
Allerdings hat die Forderung entkam Semikolons als Teil der Zeichenfolge enthalten hinzugefügt. So sollten die folgenden Zeichenfolgen auf die folgenden Werte parsen:
"Foo foo;Bar bar" => [Foo foo] [Bar bar]
"Foo foo\; foo foo;Bar bar bar" => [Foo foo\; foo foo] [Bar bar bar]
Dieser sollte schmerzlich einfach, aber ich bin total unsicher, wie man das macht. Ich möchte nur nicht Tokenize wenn es ein \ gibt; und nur wenn es ein gibt;
Kennt jemand die Zauberformel?
Können die Token Backslashes enthalten? Wenn ja, müssten sie auch entkommen, oder? –
In meinem Anwendungsfall ist das Token ein einzelnes Semikolon, das nie maskiert wurde. Wenn Sie ein Backslash-Token haben möchten, benötigen Sie einen anderen Ansatz. – Elijah