Java String split bei punkt und komma?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Einsimples binäres "oder" sollte funktionieren.

String[] parts = satz.split("\\.|,");

Du könntest auch mit Regular Expressions arbeiten. Mit RegEx kannst du Strings gezielt anhand einer definierten Syntax durchsuchen, in Gruppen teilen usw.Lies dich einfach mal in das Thema ein, all zu schwer ist es nicht. Im Beispiel oben ist zB ein RegEx-Argument enthalten, deswegen der doppelte Backslash.

Tausend dank! Wusste gar nicht, dass so etwas möglich ist ;)

0
@Skyball

Regular Expressions können sehr hilfreich sein, so kannst du zum Beispiel mit RegEx alle Wörter in einem String matchen die mit einem D anfangen und mit einem L aufhören, zwischen 5 und 8 Buchstaben lang sind und wo der dritte Buchstabe groß geschrieben ist.

Guck dir mal die Seite https://regex101.com an, dort kann man wunderbar mit regulären Ausdrücken experimentieren.

0
@user373h383

An dieser Stelle muss beachtet werden, dass es mehrere verschiedene Regex-Engines gibt, die teils andere Features unterstützen. Dieser Artikel könnte eine Vorstellung davon liefern. Wenn du für Java reguläre Ausdrücke testen möchtest, dann tue dies entweder in einer Java-Applikation oder nutze einen entsprechenden Regex Tester, online gibt es dafür ja genug.

0
@regex9

Danke, das wusste ich schon. Wie du aus dem Antwort-Verlauf entnehmen kannst bin nicht ich derjenige dem du das erklären solltest, aber trotzdem lieb dass du dir Sorgen um mich machst.

0
@user373h383

Hmn, ich habe unter dem falschen Kommentar kommentiert. Allerdings frage ich mich nun auch, wieso du https://regex101.com/ empfiehlst. Die Seite bietet keine Regex-Engine für Java an.

0
@regex9

Klar, kein Problem. Ich habe mich ein wenig von oben herab behandelt gefühlt, das ist mir dann doch ein wenig gegen den Strich gegangen. Aber nichts für ungut.

Ich habe ihm die Seite zum generellen experimentieren mit RegEx empfohlen, nicht bezogen auf Java.

0

Dein "binäres oder" ist doch bereits ein Regulärer Ausdruck, oder was meinst du mit "du könntest auch mit Regular Expressions arbeiten"?

Aber wenn wir schon dabei sind, und es dir sowieso nur um ein "oder" einzelner Zeichen geht, dann nimm doch gleich eine Charakter-Klasse, und entferne bei der Gelegenheit gleich überschüssige Leerzeichen:

String parts[] = str.split("\\s*[.,]\\s*");
0

Da String.split ein Regex annimmt müsste folgendes funktionieren (?: ist optional):

satz.split("(?:\\.|,)");

Punkt allein müsste bei jedem Zeichen splitten.

Woher ich das weiß:Hobby

Danke! Das hat mir wirklich geholfen!

0

Was möchtest Du wissen?