在本教程中,我们将讨论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"));
}
}
输出: