jo ich sag mal so, ich versteh den Syntax nicht von RegEx! Wie müsste ich das denn in die Klammer schreiben! Verzweifel noch!
EDIT: Ok die Syntax hab ich, aber wieso geht das nicht mit mehreren Zeichen! Ich will falls ein Satz mal so auftauchen sollte: wort,wort/ also ohne Leerzeichen z.B. auch nach dem Komma spliten!
Wenn du eine Liste von Trennzeichen hast, dann braucht du einen Regex mit einer Character-Class (s. dazu die Doku in der Klasse Pattern).
Der Ausdruck wäre also eine öffnende eckige Klammer gefolgt von allen Trennzeichen und am Ende eine schließende eckige Klammer. Stolperfalle dabei (wie Hobbit schon schrieb): der Punkt hat ist für Regex ein Sonderzeichen; wenn man wirklich den Punkt meint, muss man ihn maskieren (=einen Backslash voranstellen). Stolperfalle 2: der Backslash hat in String-Literalen eine besondere Bedeutung; wenn man wirklich den Backslash meint, muss man ihn ebenfalls mit einem vorangestellten Backslash maskieren.
Falls sich jemand fragt, warum ich nochmal poste! (wegen dem hier drüber gelegenen post)! Ich hab das nur geschrieben, damit erstmal keiner postet, weil ich erst was anderes zu tun hatte^^
Also ich habs noch nich ganz!
Ich sitzt mal wieder hier und komm nich weiter! Ich habe eine Methode geschrieben!
Code:
public static void zeichen( String Splits[] )
{
for( int i = 0; i < Splits.length; i++ )
System.out.print( Splits[i] + " " );
System.out.println();
}
Und hier is die Stelle wo ich sie anwende!
Code:
//......
Pattern p = Pattern.compile( "[ ;,:\"]" );
int i;
while( (line = stdin.readLine()) != null)
{
zeichen (p.split ( line ));
temp = line.split();
//......
Ich probier schon die ganze Zeit mit diesem RegEx usw. (java is auch eine Insel) war keine große Hilfe!
//......
Pattern p = Pattern.compile( "[ ;,:\"]" );
int i;
while( (line = stdin.readLine()) != null)
{
zeichen (p.split ( line )); //--- hier verwendest du dein Pattern und gibst den gesplitten String aus
temp = line.split(); //--- willst du das Pattern hier nicht verwenden ??
//......
Warum überhaupt zweimal splitten?
Reicht nicht
Code:
//......
Pattern p = Pattern.compile( "[ ;,:\"]" );
int i;
while( (line = stdin.readLine()) != null)
{
temp = p.split ( line );
zeichen( temp);
//......