一、String.replace方法简介
String.replace方法是Java中常用的字符串替换方法,它可以在指定字符串中,将旧字符或旧字符串替换为新字符或新字符串。
该方法有两种可选参数:
- char oldChar:用来替换的旧字符
- String oldString:用来替换的旧字符串
和一个必选参数:
- char newChar:新字符或新字符串
例如:
String str = "hello world!"; String newStr = str.replace("world", "java"); System.out.println(newStr); // 输出:hello java!
二、String.replace基本用法
String.replace方法可以用来替换字符串中的某些字符或子串。
下面是一个将指定字符串中的所有相同字符替换为新字符的例子:
String str = "hello world!"; String newStr = str.replace('l', 'a'); System.out.println(newStr); // 输出:heaao worad!
如果想要替换字符串中的某个子串,可以使用如下代码:
String str = "hello world!"; String newStr = str.replace("world", "java"); System.out.println(newStr); // 输出:hello java!
如果要替换所有的匹配项,可以使用replaceAll方法:
String str = "hello world!"; String newStr = str.replaceAll("l", "a"); System.out.println(newStr); // 输出:heaao worad!
三、String.replace高级用法
1. 多字符替换
String.replace方法可以同时替换多个字符或字符串,只需要把它们写成一个参数即可。
String str = "abc"; String newStr = str.replace("a", "A").replace("b", "B").replace("c", "C"); System.out.println(newStr); // 输出:ABC
2. 正则表达式替换
String.replace方法还支持使用正则表达式进行替换。
例如,下面的示例将字符串中的所有数字替换为“*”:
String str = "123abc456def789"; String newStr = str.replaceAll("\\d", "*"); System.out.println(newStr); // 输出:***abc***def***
其中,“\\d”表示数字,在Java中需要使用两个反斜杠来表示单个反斜杠。
如果只需要替换第一个匹配项,可以使用replaceFirst方法:
String str = "123abc456def789"; String newStr = str.replaceFirst("\\d", "*"); System.out.println(newStr); // 输出:*23abc456def789
四、注意事项
使用String.replace方法时需要注意以下几点:
- String.replace方法返回的是新字符串,原字符串不会被修改。
- 如果要替换的旧字符或旧字符串不存在,String.replace方法不会进行任何替换,返回原字符串。
- 如果新字符或新字符串为null,会抛出NullPointerException异常。