2013-03-19 14 views
12

L'aiuto è necessario.Regex Java String Split by Single Asterisk

line.split("*"); 

Ho usato questa riga di codice per dividere una stringa in un segno di asterisco. Tuttavia, ho ricevuto un errore dal mio compilatore. Dice "ESPRESSIONE REGOLARE NON VALIDA: DANGLING META CHARACTER" * ""

Come risolvere questo problema? Grazie in anticipo.

+3

È normale che "accetti" una risposta qui su SO. Sentiti libero di verificare la risposta che ritieni migliore. – squiguy

+0

sì, controllerò il migliore. :) – princepiero

risposta

24

* ha un significato speciale nelle espressioni regolari. Devi fuggire.

line.split("\\*"); 
+0

wow, funziona! Grazie! – princepiero

2

Prova questa dichiarazione:

line.split("\\*"); 
+0

sì, questo funziona. Grazie! – princepiero

2

E 'perché è stato utilizzato un "*", che è un'espressione regolare. Se si desidera utilizzare questo caracter, è necessario tu mettere qualcosa di simile:

line.split("\\*"); 
2

* è un personaggio meta di espressioni regolari. Viene utilizzato per la corrispondenza di 0 o più elementi. Se si desidera utilizzare * come un carattere normale e non come un carattere speciale (ad esempio saltare il suo comportamento come meta-carattere) quindi aggiungere caratteri di escape prima di esso.

Esempio: String[] split = line.split("\\*");

Spero che questo aiuti.