Java String replaceAll ()

De Java String replaceAll () -methode vervangt elke subtekenreeks die overeenkomt met de regex van de tekenreeks door de opgegeven tekst.

De syntaxis van de replaceAll()methode is:

 string.replaceAll(String regex, String replacement)

String is hier een object van de Stringklasse.

replaceAll () Parameters

De replaceAll()methode heeft twee parameters.

  • regex - een regex (kan een typische tekenreeks zijn) die moet worden vervangen
  • vervanging - bijpassende substrings worden vervangen door deze string

replaceAll () Retourwaarde

  • De replaceAll()methode retourneert een nieuwe tekenreeks waarbij elk exemplaar van de overeenkomende subtekenreeks wordt vervangen door de vervangende tekenreeks.

Voorbeeld 1: Java String 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 @ ) )

In het bovenstaande voorbeeld "\d+"is dit een reguliere expressie die overeenkomt met een of meer cijfers. Ga voor meer informatie naar Java-regex.

Ontsnappende tekens in replaceAll ()

De replaceAll()methode kan een regex of een typische string als eerste argument hebben. Het is omdat een typische tekenreeks op zichzelf een regex is.

In regex zijn er tekens met een speciale betekenis. Deze metatekens zijn:

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

Als u subtekenreeksen wilt matchen die deze metatekens bevatten, kunt u deze tekens escapen met of de replace()methode gebruiken.

 // 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 ) )

Zoals u kunt zien, replace()hoeven we niet te ontsnappen aan metatekens als we de methode gebruiken . Ga voor meer informatie naar: Java String replace ()

Als u alleen het eerste exemplaar van de overeenkomende subtekenreeks moet vervangen, gebruikt u de methode Java String replaceFirst ().

Interessante artikelen...