8 votes

Chaîne replaceAll ne remplaçant pas i++ ;

String preCode = "helloi++;world";
String newCode = preCode.replaceAll("i++;", "");

// Sortie souhaitée : : newCode = "helloworld";

Mais il ne s'agit pas de remplacer i++ par un blanc.

8voto

Navneet Krishna Points 3310

Il suffit d'utiliser replace() au lieu de replaceAll()

String preCode = "helloi++;world";
String newCode = preCode.replace("i++;", "");

ou si vous voulez replaceAll() appliquer l'expression rationnelle suivante

String preCode = "helloi++;world";
String newCode = preCode.replaceAll("i\\+\\+;", "");

Note : dans le cas de replace() le premier argument est une séquence de caractères, mais dans le cas de replaceAll le premier argument est une expression rationnelle

3voto

Essayez celui-ci

 public class Practice {
 public static void main(String...args) {
 String preCode = "Helloi++;world";
 String newCode = preCode.replace(String.valueOf("i++;"),"");
 System.out.println(newCode);
}  
}

2voto

Krishna Points 1958

Le problème est la chaîne que vous utilisez pour remplacer, qui est considérée comme un motif regex. Pour sauter la signification, vous devrez utiliser une séquence d'échappement comme ci-dessous.

String newCode = preCode.replaceAll("i\\+\\+;", "");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X