Java中 replace() 和 replaceAll() 的区别

2025年7月28日 | 阅读 4 分钟

Java String 类提供了多种方法来操作字符串。replace()replaceAll() 方法就是其中之一,它们用于将一个字符串替换为指定的子字符串。尽管这两个方法的名称听起来相似,但它们的用法却有所不同。

让我们逐一理解 replace()、replaceAll() 和 replaceFirst() 方法,并区分它们。

String.replace() 方法

replace() 方法是用于替换字符或字符序列的最常用的字符串方法之一。JDK 1.5 的 replace() 方法会替换字符以及字符序列。

语法

Java String 类中有以下两种类型的 replace() 方法。

参数

oldChar: 该参数定义了字符串中要被替换的字符。

newChar: 该参数定义了 newChar,它将替换 oldChar。

target: 该参数定义了要查找的目标字符序列。

replacement: 该参数定义了用于替换的字符序列。

让我们通过一个例子来理解如何在 Java 程序中使用 replace() 方法。

ReplaceExample1.java

输出

replace() vs replaceAll() in Java

String.replaceAll() 方法

replaceAll() 方法与 String.replaceFirst() 方法类似。它们之间的唯一区别在于,replaceAll() 会替换字符串中所有出现的子字符串为给定的字符串。

语法

replaceAll() 方法的语法如下:

参数

regex: 该参数定义了需要在字符串中替换的子字符串(通常使用正则表达式)。

replacement: 该参数定义了用于替换的字符串,它将替换 regex。

让我们通过一个例子来理解如何在我们的程序中使用 replaceAll() 方法。

ReplaceExample3.java

输出

replace() vs replaceAll() in Java

String.replaceFirst() 方法

replaceFirst() 方法是另一个用于替换子字符串的方法。它将子字符串替换为给定的字符串。replaceFirst() 方法只替换子字符串的第一个出现。

语法

replaceFirst() 方法的语法如下:

参数

regex: 该参数定义了需要在字符串中替换的子字符串(通常使用正则表达式)。

replacement: 该参数定义了用于替换的字符串,它将替换 regex。

让我们通过一个例子来理解如何在我们的程序中使用 replaceFirst() 方法。

ReplaceExample2.java

输出

replace() vs replaceAll() in Java