بکندباز

متد replaceFirst()‎ در جاوا

متد replaceFirst() اولین زیررشته ای که با regex گفته شده مطابقت داشته باشد را با یک رشته دیگر جایگزین می کند.

سینتکس متد replaceFirst() به صورت زیر است:

string.replaceFirst(String regex, String replacement)

در اینجا، string یک شیء از کلاس Stringاست.


پارامترهای replaceFirst().

متد replaceFirst() دو پارامتر دارد.

  • regex – یک regex (می تواند یک رشته معمولی باشد) که قرار است جایگزین شود
  • replacement – اولین زیر رشته پیدا شده، با این رشته جایگزین می شود

مقدار بازگشتی متد replaceFirst()

  • متد replaceFirst() یک رشته جدید را برمی گرداند که در آن اولین زیررشته ای که مطابق با regex پیدا شود، با رشته جدید جایگزین شده است.

مثال 1: متد 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@
  }
}

در مثال بالا، "\\d+"یک عبارت منظم است که با یک یا چند رقم مطابقت دارد.


escape کاراکترها در replaceFirst()

متد replaceFirst() می تواند یک regex یا یک رشته معمولی را به عنوان اولین آرگومان در نظر بگیرد. به این دلیل که یک رشته معمولی به خودی خود یک regex است.

در regex کاراکتر هایی وجود دارند که معنای خاصی دارند. این متاکاراکترها عبارتند از:

\ ^ $. | ? * + {} [] ()

اگر می‌خواهید زیررشته‌های حاوی این متاکاراکترها را مطابقت دهید، می‌توانید با استفاده از کاراکتر \ از این کاراکتر ها escape کنید.

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

  }
}

اگر می خواهیم تمام زیر رشته هایی را که با regex مطابقت دارد جایگزین کنید، از متد  ()replaceAll استفاده کنید.

backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*