English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La méthode replaceAll() de la chaîne Java remplace chaque sous-chaîne correspondant à l'expression régulière de la chaîne avec le texte spécifié.
La syntaxe de la méthode replaceAll() est :
string.replaceAll(String regex, String replacement)
La méthode replaceAll() a deux paramètres.
regex - L'expression régulière à remplacer (peut être une chaîne typique)
replacement - Le sous-chaîne correspondant est remplacé par cette chaîne
La méthode replaceAll() renvoie une nouvelle chaîne où chaque apparition du sous-chaîne correspondant est remplacée par la chaîne de remplacement (replacement).
class Main { public static void main(String[] args) { String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; //Expression régulière représentant une séquence de nombres String regex = "\\d+"; //Toutes les occurrences de "aa" sont remplacées par "zz" System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac //Remplacez les nombres ou les séquences de nombres par des espaces System.out.println(str2.replaceAll(regex, " ")); // Learn Java @ {} {}
Dans l'exemple ci-dessus, "\\d+" est une expression régulière correspondant à un ou plusieurs nombres.
La méthode replaceAll() peut utiliser une expression régulière ou une chaîne typique en tant que premier paramètre. C'est parce qu'une chaîne typique en soi est déjà une expression régulière.
Dans l'expression régulière, certains caractères ont un sens spécial. Ces métacaractères sont :
\ ^ $ . | ? * + {} [] ()
Si vous devez correspondre à des sous-chaînes contenant ces caractères de métacaractère, vous pouvez les échapper avec \ ou utiliser la méthode replace() pour ces caractères.
// Programme pour remplacer le + character class Main { public static void main(String[] args) { String str1 = "+a-+b"; String str2 = "Learn223Java55@"; String regex = "\\+"; // Replace “+" Replace "#" with replaceAll() method ////Use replaceAll() to replace “ +” replacement to “#” System.out.println(str1.replaceAll("\\+" , "#" ); // #a-#b // replacement+" Use "#" for "#" with replace() System.out.println(str1.replace("+" , "#" ); // #a-#b {} {}
As you can see, when we use the replace() method, we do not need to escape the meta-character. For more information, please visit:Java String replace()
If you only need to replace the first matching substring, please useJava String replaceFirst()method.