Mit String#split(). Wenn immer zwischen -- getrennt werden soll, dann einfach mit split("--") trennen und bei den einzelnen Arrayelementen die Striche entsprechend hinzufügen.
"ohne nichts zu löschen" btw...?![]()
String[] a = "Zwei__flinke--Boxer--jagen__einen__Kolibri".split("--|__");
for (int i = 0; i < a.length - 1; i++)
System.out.print("'" + a[i] + "', ");
System.out.println("'" + a[a.length - 1]+ "'");
// Ausgabe: 'Zwei', 'flinke', 'Boxer', 'jagen', 'einen', 'Kolibri'
// Es sollte aber ausgegeben werden: 'Zwei_', '_flinke-', '-Boxer-', '-jagen_', '_einen_', '_Kolibri'
Pattern pat = Pattern.compile("\\-[a-zA-z]+\\-");
[-_]([a-zA-Z0-9]+)[-_]
Pattern pattern = Pattern.compile("[-_]([a-zA-Z0-9]+)[-_]");
Matcher matcher = pattern.matcher("-Zwei__flinke--Boxer--jagen__einen__Kolibri-");
while (matcher.find()) {
System.out.println("Mit Umrandung: " + matcher.group(0));
System.out.println("Ohne Umrandung: " + matcher.group(1));
}