原文: https://beginnersbook.com/2013/12/java-string-replace-replacefirst-replaceall-method-examples/

在本教程中,我们将讨论replace()replaceFirst()replaceAll()方法。所有这些 Java String方法主要用于用另一个String替换String的一部分。

Java String替换方法签名

String replace(char oldChar, char newChar):它用newChar字符替换oldChar字符的所有出现。对于例如"pog pance".replace('p', 'd')将返回dog dance

String replaceFirst(String regex, String replacement):它用替换字符串替换符合指定正则表达式的第一个子字符串。如果指定的正则表达式(正则表达式)无效抛出PatternSyntaxException

String replaceAll(String regex, String replacement):它用替换String替换所有符合给定正则表达式的子串。

Java String replace()方法示例

在下面的例子中,我们有一个字符串str,我们正在演示使用String strreplace()方法。我们用char 'p'替换了char 'o'的所有出现。在第二个print语句中,我们用char 'K'替换了char 'i'的所有出现。

这里我们使用print语句显示修改后的字符串,但我们实际上没有更改字符串str,为了实现我们需要在字符串中分配返回的replace()方法字符串,然后该字符串可以进行永久性更改。

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. String str = new String("Site is BeginnersBook.com");
  4. System.out.print("String after replacing all 'o' with 'p' :" );
  5. System.out.println(str.replace('o', 'p'));
  6. System.out.print("String after replacing all 'i' with 'K' :" );
  7. System.out.println(str.replace('i', 'K'));
  8. }
  9. }

输出:

Java `String replace()`,`replaceFirst()`和`replaceAll()`方法 - 图1

Java String replaceFirst()方法示例

在下面的示例中,我们将演示如何使用replaceFirst()方法。此方法用新指定的字符串替换字符串的一部分。replaceFirst()replaceAll()方法之间的区别在于replaceFirst()替换第一个匹配项,而replaceAll()替换所有匹配项。

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. String str = new String("Site is BeginnersBook.com");
  4. System.out.print("String after replacing com with net :" );
  5. System.out.println(str.replaceFirst("com", "net"));
  6. System.out.print("String after replacing Site name:" );
  7. System.out.println(str.replaceFirst("Beginners(.*)", "XYZ.com"));
  8. }
  9. }

输出:

Java `String replace()`,`replaceFirst()`和`replaceAll()`方法 - 图2

Java String replaceAll()方法示例

在下面的示例中,我们使用replaceAll()方法用新字符串替换给定子字符串的所有出现。

replace()replaceAll()方法之间的区别在于replace()方法用新char替换旧char的所有出现,而replaceAll()方法用新字符串替换旧字符串的所有出现。基本上,replace()适用于替换字符,而replaceAll()适用于替换部分字符串。

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. String str = new String("My .com site is BeginnersBook.com");
  4. System.out.print("String after replacing all com with net: " );
  5. System.out.println(str.replaceAll("com", "net"));
  6. System.out.print("Replacing whole String: " );
  7. System.out.println(str.replaceAll("(.*)Beginners(.*)", "Welcome"));
  8. }
  9. }

输出:

Java `String replace()`,`replaceFirst()`和`replaceAll()`方法 - 图3