Chaîne Java replaceAll ()

La méthode Java String replaceAll () remplace chaque sous-chaîne qui correspond à l'expression régulière de la chaîne par le texte spécifié.

La syntaxe de la replaceAll()méthode est:

 string.replaceAll(String regex, String replacement)

Ici, string est un objet de la Stringclasse.

Paramètres replaceAll ()

La replaceAll()méthode prend deux paramètres.

  • regex - une expression régulière (peut être une chaîne typique) qui doit être remplacée
  • remplacement - les sous-chaînes correspondantes sont remplacées par cette chaîne

replaceAll () Valeur de retour

  • La replaceAll()méthode retourne une nouvelle chaîne où chaque occurrence de la sous-chaîne correspondante est remplacée par la chaîne de remplacement .

Exemple 1: chaîne Java replaceAll ()

 class Main ( public static void main(String() args) ( String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; // regex for sequence of digits String regex = "\d+"; // all occurrences of "aa" is replaceAll with "zz" System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac // replace a digit or sequence of digits with a whitespace System.out.println(str2.replaceAll(regex, " ")); // Learn Java @ ) )

Dans l'exemple ci-dessus, "\d+"est une expression régulière qui correspond à un ou plusieurs chiffres. Pour en savoir plus, visitez Java regex.

Échapper les caractères dans replaceAll ()

La replaceAll()méthode peut prendre une expression régulière ou une chaîne typique comme premier argument. C'est parce qu'une chaîne typique en elle-même est une regex.

Dans regex, il y a des caractères qui ont une signification particulière. Ces métacaractères sont:

 $. | ? * + () () ()

Si vous avez besoin de faire correspondre une sous-chaîne contenant ces métacaractères, vous pouvez échapper ces caractères en utilisant ou utiliser la replace()méthode.

 // Program to replace the + character class Main ( public static void main(String() args) ( String str1 = "+a-+b"; String str2 = "Learn223Java55@"; String regex = "\+"; // replace "+" with "#" using replaceAll() // need to espace "+" System.out.println(str1.replaceAll("\+", "#")); // #a-#b // replace "+" with "#" using replace() System.out.println(str1.replace("+", "#")); // #a-#b ) )

Comme vous pouvez le voir, lorsque nous utilisons la replace()méthode, nous n'avons pas besoin d'échapper aux métacaractères. Pour en savoir plus, visitez: Java String replace ()

Si vous devez remplacer uniquement la première occurrence de la sous-chaîne correspondante, utilisez la méthode Java String replaceFirst ().

Articles intéressants...