Java中String类的常用replace()方法有哪些?
String类在 Java 中提供了四种不同的replace()方法。每种方法都针对特定的用例。他们的名字如下:- 替换(字符,字符)
- 替换(字符串,字符串)
- 全部替换(字符串,字符串)
- replaceFirst(字符串,字符串)
Java String replace() 方法
Java String replace()方法用于将指定字符替换为作为参数传递的给定字符。此方法适用于用您选择的其他字符 替换字符串中的任何字符。方法头
public String replace(char oldCharacter, char newCharacter)
方法参数
该方法采用两个“char”类型的参数或参数。-
char oldCharacter保存要替换的字符。
-
char newCharacter保存将用于代替 oldCharacter 的字符。
返回类型
字符串替换方法在替换所需字符后返回更新后的字符串。例子
让我们看一下不同的简单示例,以了解此方法的工作原理。
public class Driver {
public static void main(String[] args) {
String myString = "An apple a day, keeps the doctor away!";
System.out.println("Original Sentence: \t\t\t" + myString);
// Example 1 using String replace(char, char)
char oldCharacter = 'a'; // replacing character
char newCharacter = 'A'; // character to be replaced
String updatedString = myString.replace(oldCharacter, newCharacter);
System.out.println("After replacing '" + oldCharacter + "' with '" +
// 'a' is replaced and not with 'A' as the method is case sensitive
newCharacter + "': \t\t" + updatedString);
// Example 2 using String replace(String, String)
String oldString = "apple";
String newString = "orange";
// using the method String replace
String updatedString1 = myString.replace(oldString, newString);
System.out.println("Replacing '" + oldString + "' with '" +
newString + "': \t" + updatedString1 + "\n");
}
}
输出
原句:一天一个苹果,医生远离我!将“a”替换为“A”后:每天一个苹果,远离医生!用“橘子”代替“苹果”:一天一个橘子,医生远离我!
注意:建议您在继续之前 熟悉正则表达式aka regex。
Java String replaceAll() 方法
Java String replaceAll()方法用所需的String替换作为参数传递的正则表达式的每一次出现。这意味着,正则表达式的每个副本都由替换字符串更新。方法头
public String replaceAll(String regularExpression, String replacementStr)
方法参数
此方法采用两个“字符串”类型参数。-
String regularExpression保存要替换的正则表达式(模式)。
-
String replacementStr是将用于代替正则表达式的字符串。
返回类型
该方法在替换所有出现的正则表达式后返回一个新字符串。例子
这种方法通常用于更新巨大的数据记录。为了更深入地理解,让我们看一下replaceAll()方法的不同示例。
public class Driver1 {
public static void main(String[] args) {
String myString = "Mastering a programming language begins with great logic building!";
System.out.println("Original Sentence: \t\t\t" + myString);
String regex = "[\sa]"; // This regex is used to remove all spaces and a(s) in the string
String replacementStr = "";
// using the method String replaceAll(); to remove ALL spaces
System.out.println("After replacing \"" + regex + "\" with \"" + replacementStr + "\": \t"
+ myString.replaceAll(regex, replacementStr) + "\n");
}
}
输出
原句:掌握一门编程语言始于伟大的逻辑构建!将“[a]”替换为“”后:Msteringprogrmminglngugebeginswithgretlogicbuilding!
Java String replaceFirst() 方法
Java String replaceFirst()方法仅替换传递给此方法的正则表达式的第一次出现。方法头
public String replaceFirst(String regularExpression, String replacementStr)
方法参数
此方法采用两个“字符串”类型参数。-
String regularExpression保存要替换的正则表达式(模式)。
-
String replacementStr是将用于代替正则表达式的字符串。
返回类型
该方法仅在替换第一次出现的正则表达式后返回一个新字符串。例子
当您只想更新匹配参数的第一条记录时,可以使用此方法。让我们在下面的例子中探索它是如何工作的。
public class Driver2 {
public static void main(String[] args) {
String myString = "Good Morning. You wonders of Nature. Today is a great day to be happy.";
System.out.println("Original Sentence: \t\t" + myString);
String regex = "\\."; // regex to update period / full stop
String replacementStr = "!";
// using the method String replaceFirst();
// to remove first period(.) with exclamation(!) mark
System.out.println("After replacing '" + regex + "' with '" + replacementStr + "': \t"
+ myString.replaceFirst(regex, replacementStr));
}
}
输出
原句:早安。你是大自然的奇迹。今天是快乐的好日子。替换 '\.' 后 用'!':早上好!你是大自然的奇迹。今天是快乐的好日子。
GO TO FULL VERSION