Java String split bei punkt und komma?

2 Antworten

Vom Beitragsersteller 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.


KuekenShredder  20.09.2018, 01:49

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
Skyball 
Beitragsersteller
 19.09.2018, 20:15

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

0
user373h383  19.09.2018, 20:37
@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
regex9  19.09.2018, 20:47
@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
user373h383  19.09.2018, 20:52
@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
regex9  19.09.2018, 20:56
@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
user373h383  19.09.2018, 21:08
@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

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

Skyball 
Beitragsersteller
 19.09.2018, 20:15

Danke! Das hat mir wirklich geholfen!

0