Java String replaceAll ()

Die Java String replaceAll () -Methode ersetzt jeden Teilstring, der dem regulären Ausdruck des Strings entspricht, durch den angegebenen Text.

Die Syntax der replaceAll()Methode lautet:

 string.replaceAll(String regex, String replacement)

Hier ist string ein Objekt der StringKlasse.

replaceAll () -Parameter

Die replaceAll()Methode akzeptiert zwei Parameter.

  • Regex - Ein Regex (kann eine typische Zeichenfolge sein), der ersetzt werden soll
  • Ersatz - passende Teilzeichenfolgen werden durch diese Zeichenfolge ersetzt

replaceAll () Rückgabewert

  • Die replaceAll()Methode gibt eine neue Zeichenfolge zurück, bei der jedes Vorkommen der übereinstimmenden Teilzeichenfolge durch die Ersatzzeichenfolge ersetzt wird .

Beispiel 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 @ ) )

Im obigen Beispiel "\d+"handelt es sich um einen regulären Ausdruck, der einer oder mehreren Ziffern entspricht. Weitere Informationen finden Sie unter Java Regex.

Escapezeichen in replaceAll ()

Die replaceAll()Methode kann einen regulären Ausdruck oder eine typische Zeichenfolge als erstes Argument verwenden. Dies liegt daran, dass eine typische Zeichenfolge an sich eine Regex ist.

In Regex gibt es Zeichen, die eine besondere Bedeutung haben. Diese Metazeichen sind:

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

Wenn Sie einen Teilstring finden müssen, der diese Metazeichen enthält, können Sie diese Zeichen entweder mithilfe der replace()Methode maskieren oder verwenden .

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

Wie Sie sehen, müssen wir bei Verwendung der replace()Methode keine Metazeichen umgehen. Weitere Informationen finden Sie unter: Java String replace ()

Wenn Sie nur das erste Vorkommen des übereinstimmenden Teilstrings ersetzen müssen, verwenden Sie die Java String replaceFirst () -Methode.

Interessante Beiträge...