Regular Expression gesucht: Zeichen nur finden, wenn ihm kein anderes voransteht

Hallo,

ich bin auf der Suche nach einer regular Expression, welche ein bestimmtes Zeichen nur dann findet, wenn diesem kein anderes, definiertes voransteht. Hintergrund: Doppelpunkte werden durch ein voranstehendes Prozent-Zeichen maskiert, da sie als Trennzeichen innerhalb eines Strings dienen.

Dieser String soll nun um die Doppelpunkte gesplittet werden. Etwa so:

Java:
String s = "bingo:bongo:b%:ungo";
result = s.split("(?<!%):");
for(String sub : result) System.out.print(sub + " "); System.out.println();

Das gewünschte Ergebnis-Array soll dann im Idealfall bingo, bongo, b:ungo enthalten. Ist die Ersetzung (in diesem Falle Löschung) von % in diesem Beispiel möglich?

Ideen?

Vielen Dank im Voraus und beste Grüße!
 
Zuletzt bearbeitet:
S

SlaterB

Gast
das Split klappt doch anscheinend ganz gut,
gleichzeitig noch zu ersetzen kannst du kaum erwarten,

das ist keine Grundfunktion von RegEx, wie das Splitten ja auch nicht, sondern alles eigene Methoden: split(), replace() usw.,
es gibt für deinen Fall keine fertige Kombination, baue dir selber eine ensprechende Methode, die du dann aufrufen kannst
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben