Anzeige: Goneo - Du machst das Web!
Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
regex zum Splitten einer Zeichenkette
Autor: Rilji
Datum: 25.03.2009 17:01:32
Hi,
also mein ist Problem: ich habe einen String den ich mit der Methode split spliten möchte und zwar so das er bei einen Tab und einem Whitespace gesplittet wird, aber nicht bei einem Komma Whitespace Komma oder ein Komma Whitespace oder ein Whitespace Komma.
Mal n Beispiel:
"Das ist ein kurzes Beispiel"  soll zu  "Das" "ist" "ein" "kurzes" "Beispiel"  werden
"Das, ist ein , kurzes,Beispiel"  soll zu  "Das, ist" "ein , kurzes Beispiel" werden
Dazu habe ich mir Folgendes ausgedacht:
String[] splitTest = testtest.split("[t]|([^,][\ ][^,])")
Das funktioniert eigentlich soweit ganz gut, allerdings werden jetzt immer wenn kein Komma vor einem Whitespace ist (der Satz da also getrennt wird) das Zeichen davor und danach abgeschnitten.
Beispiel:
"Das ,ist, ein, kurzes Beispiel"  wird zu  "Das ,ist, ein, kurze" "eispiel"
Kann mir da vielleicht einer weiterhelfen? Wäre echt klasse.
LG,
Rilji
Anzeige: Goneo - Du machst das Web!
Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
Re: regex zum Splitten einer Zeichenkette
Autor: xabbuh
Datum: 22.04.2009 14:41:15
Ich würde mit der Klasse Pattern und deren split()-Methode arbeiten:
String haystack = "Das, ist ein , kurzes,Beispiel";
String pattern = "(?<!,)\s(?!,)";
Pattern p = Pattern.compile(pattern);
System.out.println("Zeichenkette: " + haystack);
System.out.println("Suchmuster: " + pattern);
for(String s : p.split(haystack)) {
    System.out.println(s);
}