replace和replaceAll
时间: 2023-10-31 09:58:06 浏览: 160
`replace`和`replaceAll`是Java中用于字符串替换的方法。
`replace`方法用于将指定的字符(或字符序列)替换为另一个字符(或字符序列)。它的语法如下:
```java
String replace(char oldChar, char newChar)
String replace(CharSequence target, CharSequence replacement)
```
第一个重载方法将字符串中的所有`oldChar`替换为`newChar`,返回替换后的新字符串。第二个重载方法将字符串中所有出现的`target`替换为`replacement`,同样返回替换后的新字符串。
示例代码:
```java
String str = "Hello, World!";
String newStr = str.replace('o', '*');
System.out.println(newStr); // Output: Hell*, W*rld!
String str2 = "Hello, World!";
String newStr2 = str2.replace("World", "Java");
System.out.println(newStr2); // Output: Hello, Java!
```
`replaceAll`方法是基于正则表达式进行替换的。它的语法如下:
```java
String replaceAll(String regex, String replacement)
```
它将字符串中与正则表达式模式匹配的部分替换为指定的字符串,并返回替换后的新字符串。
示例代码:
```java
String str = "Hello, 12345!";
String newStr = str.replaceAll("\\d", "*");
System.out.println(newStr); // Output: Hello, ****!
```
在这个示例中,正则表达式`\\d`匹配任何数字字符,`replaceAll`方法将所有数字字符替换为`*`。
需要注意的是,`replace`方法是基于字符匹配进行替换,而`replaceAll`方法基于正则表达式进行替换。因此,在使用`replaceAll`方法时,需要注意正则表达式的语法和特殊字符的处理。
阅读全文