Java String replaceFirst 方法是 String 方法之一,用于将第一次出现的子字符串替换为新指定的字符串。
在本文中,我们将展示如何在该编程语言中编写 String.replaceFirst 方法,并附带示例,其基本语法如下所示。
Java String ReplaceFirst 语法
该编程语言提供了 replaceFirst 方法,用于将第一个子字符串替换为用户指定的字符串。
Java replaceFirst 方法接受两个字符串参数。第一个参数 (regex) 是一个正则表达式,表示 String_Object 中存在的子字符串,第二个参数 (Replacement) 是您想要替换的新子字符串。
public String replaceFirst(String Regexp, String Replacement); //In order to use in program String_Object.replaceFirst(Regexp, Replacement);
- String_Object:您希望在其上执行替换操作的有效字符串。
- Regexp:请指定您想要更改的有效值,或表示该字符串的正则表达式。此处放置的任何内容都将被新字符串 (Replacement) 替换。
- Replacement:请指定您想要插入到 String_Object 中的有效新值。
Java String ReplaceFirst 示例
replaceFirst 方法将对象中第一次出现的子字符串替换为用户指定的新字符串。在此 Java 程序中,我们将子字符串作为第一个参数。这有助于理解 String 函数的基本功能。
package StringFunctions;
public class ReplaceFirst {
public static void main(String[] args) {
String str = "Tutorials on Java Programming";
String str1 = "We are abc working at abc company";
String str2 = str.replaceFirst("a", "NEW");
String str3 = str1.replaceFirst("a", "X");
String str4 = str.replaceFirst("Java", "Java Script");
String str5 = str1.replaceFirst("abc", "xyz");
String str6 = str1.replaceFirst("abx", "xyz");
System.out.println("After Replacing First String str = " + str2);
System.out.println("After Replacing First String str1 = " + str3);
System.out.println("After Replacing First String str = " + str4);
System.out.println("After Replacing First String str1 = " + str5);
System.out.println("After Replacing First String str1 = " + str6);
}
}

以下语句将调用 String replaceFirst 方法来查找子字符串“a”并将其替换为“x”。如果您观察上面的截图,尽管“a”子字符串在 Str 变量中重复出现四次,但此函数仅替换了第一次出现的。
str2 = str.replaceFirst("a", "NEW");
以下 Java String replaceFirst 语句将查找子字符串“abc”并将其替换为“xyz”。从上面的截图中可以看到,尽管“abc”子字符串在 Str 变量中重复出现两次,但它只替换了第一次出现的。
str5 = str1.replaceFirst("abc", "xyz");
在下一行 Java 代码中,我们尝试将不存在的子字符串“abx”替换为“xyz”。可以看到没有发生替换(String_Object 未更改)。
str6 = str1.replaceFirst("abx", "xyz");
最后,我们使用 System.out.println 语句打印输出。
replaceFirst 示例 2
此 程序有助于实际理解 replaceFirst 方法中正则表达式的使用。
package StringFunctions;
public class ReplaceFirst2 {
public static void main(String[] args) {
String str = "We are abc working at abc";
String str1 = "Apple Cherry Apple";
String strd = "Emp10s Emp20s Emp30s Emp40s";
String str2 = str.replaceFirst("abc", "xyz");
String str3 = str.replaceFirst("abc$", "xyz");
String str4 = str1.replaceFirst("Apple", "Orange");
String str5 = str1.replaceFirst("Apple$", "Orange");
String str6 = str.replaceFirst("abc(.*)", "xyz");
String str7 = str.replaceFirst("(.*)abc(.*)", "TutorialGateway.org");
String str8 = strd.replaceFirst("Emp\\d\\ds", "Emp_ID 10 is Working in Sales Depat,");
String str9 = strd.replaceFirst("Emp\\d\\ds$", ",Emp_ID 40 is Working in Sales Dept");
System.out.println("After Replacing First in str = " + str2);
System.out.println("After Replacing Last in str = " + str3);
System.out.println("After Replacing First in str1 = " + str4);
System.out.println("After Replacing Last in str1 = " + str5);
System.out.println("str = " + str6);
System.out.println("str = " + str7);
System.out.println("strd = " + str8);
System.out.println("strd = " + str9);
}
}
After Replacing First in str = We are xyz working at abc
After Replacing Last in str = We are abc working at xyz
After Replacing First in str1 = Orange Cherry Apple
After Replacing Last in str1 = Apple Cherry Orange
str = We are xyz
str = TutorialGateway.org
strd = Emp_ID 10 is Working in Sales Depat, Emp20s Emp30s Emp40s
strd = Emp10s Emp20s Emp30s ,Emp_ID 40 is Working in Sales Dept
以下语句调用 replaceFirst 方法来查找第一次出现的子字符串“abc”并将其替换为“xyz”。
str2 = str.replaceFirst("abc", "xyz");
以下 Java String replaceFirst 语句将查找最后一次出现的子字符串“abc”并将其替换为“xyz”。从上面可以看到,尽管“abc”子字符串在 Str 变量中重复出现两次,但它替换的是最后一次出现的。
str3 = str.replaceFirst("abc$", "xyz");
它将查找子字符串“abc”并替换“abc”及其后面的字符串为“xyz”。
str6 = str.replaceFirst("abc(.*)", "xyz");
此 replaceFirst 语句将查找子字符串“abc”并替换“abc”及其前面的字符串、后面的字符串为“xyz”。
str7 = str.replaceFirst("(.*)abc(.*)", "TutorialGateway.org");
以下语句将查找第一次出现的子字符串“Emp\\d\\ds”,并将其替换为“Emp_ID 10 is Working in Sales Depat”。这里,\\d\\ 表示“Emp”和“ds”之间的整数值。
str8 = strd.replaceFirst("Emp\\d\\ds", "Emp_ID 10 is Working in Sales Depat,");