2012-03-01 1 views

Répondre

0

Vous devez échapper à la \ en le doublant. \\

Exemple de code:

String tt = "\\\\terte\\"; 
System.out.println(tt); 
System.out.println(tt.replaceAll("\\\\", "|")); 

Cela donne le résultat suivant:

\\terte\ 
||terte| 
0

String.replaceAll() API:

Remplace chaque sous-chaîne de cette chaîne qui correspond à l'expression régulière donnée avec le remplacement donné.

Une invocation de cette méthode de la forme str.replaceAll (regex, rempl) cède exactement le même résultat que l'expression

Pattern.compile(regex).matcher(str).replaceAll(repl) 

Notez que antislashs() et des signes dollar ($) dans le remplacement chaîne peut entraîner des résultats différents que si elle était traités comme une chaîne de remplacement littérale; voir Matcher.replaceAll. Utilisez Matcher.quoteReplacement (java.lang.String) pour supprimer la signification spéciale de ces caractères, si vous le souhaitez.

Btw, it is duplicated question.

+1

Vous devriez toujours pointer vers la dernière API. Vous pointez sur 1.4.2 – tom

+1

et le lien dupliqué pointe juste vers l'API: D – oers

2

Les citations de fermeture sont manquants dans le 2ème paramètre. Remplacez par:

str = str.replaceAll("\"","\\\\\""); 

Voir aussi this example.

Questions connexes