Java String replaceFirst ()

Metoda Java Structure replaceFirst () înlocuiește primul șir care se potrivește cu regexul șirului cu textul specificat.

Sintaxa replaceFirst()metodei este:

 string.replaceFirst(String regex, String replacement)

Aici, șirul este un obiect al Stringclasei.

replaceFirst () Parametri

replaceFirst()Metoda ia doi parametri.

  • regex - o regex (poate fi un șir tipic) care urmează să fie înlocuită
  • înlocuire - primul șir de potrivire este înlocuit cu acest șir

replaceFirst () Valoare returnată

  • replaceFirst()Metoda returnează un nou șir de caractere în cazul în care prima apariție a subșir de potrivire se înlocuiește cu înlocuire șir.

Exemplul 1: Java String replaceFirst ()

 class Main ( public static void main(String() args) ( String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; // regex for sequence of digits String regex = "\d+"; // the first occurrence of "aa" is replaced with "zz" System.out.println(str1.replaceFirst("aa", "zz")); // zzbbaaac // replace the first sequence of digits with a whitespace System.out.println(str2.replaceFirst(regex, " ")); // Learn Java55@ ) )

În exemplul de mai sus, "\d+"este o expresie regulată care se potrivește cu o succesiune de cifre. Pentru a afla mai multe, vizitați Java regex.

Caractere care scapă în replaceFirst ()

replaceFirst()Metoda poate lua o regex sau un șir de caractere tipic ca primul argument. Acest lucru se datorează faptului că un șir tipic în sine este un regex.

În regex, există personaje care au o semnificație specială. Aceste metacaractere sunt:

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

Dacă trebuie să potriviți un șir care conține aceste metacaractere, puteți scăpa de aceste caractere folosind .

 // Program to the first + character class Main ( public static void main(String() args) ( String str = "a+a-++b"; // replace the first "+" with "#" System.out.println(str.replaceFirst("\+", "#")); // a#a-++b ) )

Dacă trebuie să înlocuiți fiecare șir care se potrivește cu regex, utilizați metoda Java String replaceAll ().

Articole interesante...