Java String replaceFirst 方法

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 Method 1

以下语句将调用 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,");