Bonjour a tous,

Je me pose actuellement une question sur le regex en java.

Je dois faire un replaceAll sur une string dans mon programme avec une string entrée dans un jtextfield.

Dans un regex, il y a des caractères spéciaux exemple "\"

Et si j'ais ce type de caractère dans mon jtextfield, cela génère une erreure à l'exécution. J'aimerais donc rendre "inerte" le texte dans mon jtextfield face au regex.


Ce que je fais pour l'instant c'est ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
String original_string,
string_modify,
match="(?i)"+txt_to_replace.getText().replace("\\","\\\\"),
replace_to=txt_replace_to.getText().replace("\\","\\\\");
 
 
string_modify=original_string.replaceAll(match,replace_to);
Mais c'est loin d'être général vu que ça ne marche pas pour les autres caractères spéciaux du regex...

Je vous demande donc si java a prevu une methode du type :

mastring=mastring.RendreInerteAuRegex;

merci d'avance