📜  Java字符串replaceFirst()

📅  最后修改于: 2020-09-27 02:44:34             🧑  作者: Mango

Java String replaceFirst()方法用指定的文本替换与字符串的正则表达式匹配的第一个子字符串 。

replaceFirst()方法的语法为:

string.replaceFirst(String regex, String replacement)

在这里, 字符串String类的对象。


replaceFirst()参数

replaceFirst()方法采用两个参数。

  • regex-要替换的正则表达式(可以是典型的字符串)
  • 替换 -第一个匹配的子字符串被替换为该字符串

replaceFirst()返回值
  • replaceFirst()方法返回一个新字符串 ,其中匹配子字符串的第一个匹配项将替换为替换 字符串。

示例1:Java字符串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+"是与数字序列匹配的正则表达式。要了解更多信息,请访问Java regex


在replaceFirst()中转义字符

replaceFirst()方法可以使用正则表达式或典型字符串作为第一个参数。这是因为典型的字符串本身就是正则表达式。

在正则表达式中,有些字符具有特殊含义。这些元字符是:

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

如果您需要匹配包含这些元字符的子字符串,则可以使用\来转义这些字符 。

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

  }
}

如果需要替换与正则表达式匹配的每个子字符串,请使用Java String replaceAll()方法。