Java karakterlánc ReplaceAll ()

A Java karakterlánc ReplaceAll () metódus minden egyes karakterláncot, amely megfelel a karakterlánc regexének, a megadott szöveggel helyettesíti.

A replaceAll()módszer szintaxisa :

 string.replaceAll(String regex, String replacement)

Itt a karakterlánc az Stringosztály objektuma .

ReplaceAll () paraméterek

A replaceAll()módszer két paramétert vesz fel.

  • regex - egy regex (tipikus karakterlánc lehet), amelyet le kell cserélni
  • csere - illeszkedő alszekciókat ezzel a karakterlánccal helyettesítjük

ReplaceAll () visszatérési érték

  • A replaceAll()metódus új karakterláncot ad vissza, ahol az illeszkedő alszöveg minden előfordulását lecseréli a helyettesítő karakterláncra.

1. példa: Java karakterlánc 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 @ ) )

A fenti példában "\d+"egy reguláris kifejezés, amely egy vagy több számjeggyel egyezik. További információkért látogasson el a Java regexbe.

Menekülőkarakterek a ReplAllAll () -ban

A replaceAll()módszer első argumentumként egy regexet vagy egy tipikus karakterláncot vehet fel. Ez azért van, mert egy tipikus karakterlánc önmagában egy regex.

A regexben vannak olyan karakterek, amelyek különleges jelentéssel bírnak. Ezek a metakarakterek:

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

Ha meg kell egyeznie az ezeket a metakaraktereket tartalmazó alszövegekkel, akkor elkerülheti ezeket a karaktereket, vagy használhatja a replace()módszert.

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

Amint láthatja, amikor a replace()módszert alkalmazzuk, nem kell elkerülnünk a metakaraktereket. Ha többet szeretne megtudni, látogasson el ide: Java karakterlánc csere ()

Ha csak a megfelelő alszöveg első előfordulását kell kicserélnie, használja a Java karakterlánc csereFirst () metódust.

érdekes cikkek...