Avez-Vous Besoin D'Échapper le Caractère * en Java?

J'ai donc écrit un petit article de code dans un programme de mine qui utilise la méthode de fractionnement pour analyser et trier les composants individuels ont lieu au sein d'une chaîne. Ci-dessous est un exemple de code:

String[] sArray;

String delimiter = "*";

String test = "TEXT*TEXT*TEXT*";
String a = "";
String b = "";
String c = "";

sArray= test.split(delimiter);

a = sArray[0];
b = sArray[1];
c = sArray[2];

System.out.println("A is: " + a + "\nB is: " + b + "\nC is: " + c);

Cependant, quand je lance ce programme, il renvoie une erreur indiquant que:

Dangling meta character '*' near index 0

J'ai donc googlé cette erreur et a trouvé qu'il peut être lié à un problème avec la façon dont * peut être considéré comme un caractère générique dans la regex. J'ai donc essayé:

String delimiter = "\*"

Mais qui revient tout juste d'un autre message d'erreur indiquant:

illegal escape character

Quelqu'un a rencontré ce problème avant ou savoir comment vous (si vous avez) échapper à * en java?

Note (Jan. 2018), raw littéraux de chaîne peut être à venir pour Java JDK (10 ou plus): voir En Java, il est un moyen d'écrire une chaîne de caractères littérale, sans avoir à échapper les guillemets?.

OriginalL'auteur This 0ne Pr0grammer | 2013-01-07