原文: 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 str的replace()方法。我们用char 'p'替换了char 'o'的所有出现。在第二个print语句中,我们用char 'K'替换了char 'i'的所有出现。
这里我们使用print语句显示修改后的字符串,但我们实际上没有更改字符串str,为了实现我们需要在字符串中分配返回的replace()方法字符串,然后该字符串可以进行永久性更改。
public class JavaExample{public static void main(String args[]){String str = new String("Site is BeginnersBook.com");System.out.print("String after replacing all 'o' with 'p' :" );System.out.println(str.replace('o', 'p'));System.out.print("String after replacing all 'i' with 'K' :" );System.out.println(str.replace('i', 'K'));}}
输出:

Java String replaceFirst()方法示例
在下面的示例中,我们将演示如何使用replaceFirst()方法。此方法用新指定的字符串替换字符串的一部分。replaceFirst()和replaceAll()方法之间的区别在于replaceFirst()替换第一个匹配项,而replaceAll()替换所有匹配项。
public class JavaExample{public static void main(String args[]){String str = new String("Site is BeginnersBook.com");System.out.print("String after replacing com with net :" );System.out.println(str.replaceFirst("com", "net"));System.out.print("String after replacing Site name:" );System.out.println(str.replaceFirst("Beginners(.*)", "XYZ.com"));}}
输出:

Java String replaceAll()方法示例
在下面的示例中,我们使用replaceAll()方法用新字符串替换给定子字符串的所有出现。
replace()和replaceAll()方法之间的区别在于replace()方法用新char替换旧char的所有出现,而replaceAll()方法用新字符串替换旧字符串的所有出现。基本上,replace()适用于替换字符,而replaceAll()适用于替换部分字符串。
public class JavaExample{public static void main(String args[]){String str = new String("My .com site is BeginnersBook.com");System.out.print("String after replacing all com with net: " );System.out.println(str.replaceAll("com", "net"));System.out.print("Replacing whole String: " );System.out.println(str.replaceAll("(.*)Beginners(.*)", "Welcome"));}}
输出:

