Java字符串替换方法用于用其他一些字符串替换部分字符串。这些字符串替换方法有时非常有用。例如,将文件中所有出现的“颜色”替换为“颜色”。
Java字符串替换
Java String类具有四种替换子字符串的方法。这些方法中的两个接受正则表达式来匹配和替换部分字符串。
public String replace(char oldChar, char newChar)
:此方法用于将所有出现的oldChar字符替换为newChar字符。public String replaceAll(String regex, String replacement)
注意:这是一个非常有用的方法,因为我们可以传递正则表达式来匹配并替换为替换字符串。public String replaceFirst(String regex, String replacement)
:此字符串替换方法类似于replaceAll
它,除了它仅用替换字符串替换匹配的正则表达式的第一个匹配项。
让我们看看带有示例代码的java字符串替换方法。
Java String替换字符示例
字符替换的流行用例之一是更改字符串中的定界符。例如,下面的代码片段显示了如何在给定的字符串中将管道定界符更改为逗号。
package com.journaldev.string;
public class JavaStringReplaceChar {
public static void main(String[] args) {
String str = "Android|java|python|swift";
str = str.replace('|', ',');
System.out.println(str);
}
}
Java String replace()示例
让我们看一下Java字符串替换方法示例,该示例将目标字符串替换为另一个字符串。我将从Java扫描程序类获取用户输入的源,目标和替换字符串。
package com.journaldev.string;
import java.util.Scanner;
public class JavaStringReplace {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter Source Term:");
String source = sc.nextLine();
System.out.println("Enter Search Term:");
String search = sc.nextLine();
System.out.println("Enter Replace Term:");
String replace = sc.nextLine();
String result = source.replace(search, replace);
System.out.println("Result = " + result);
sc.close();
}
}
下图显示了以上程序执行之一的输出。
Java String replaceAll示例
如果您注意到上述程序输出,则目标字符串应与替换完全匹配。有时是不可能的,因为输入字符串可能因大小写而有所不同。在这种情况下,我们可以使用replaceAll方法并传递不区分大小写的正则表达式。让我们看一个简单的程序,该程序将以不区分大小写的方式匹配并替换字符串。
package com.journaldev.string;
import java.util.Scanner;
public class JavaStringReplaceAll {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter Source Term:");
String source = sc.nextLine();
System.out.println("Enter Search Term:");
String search = sc.nextLine();
search = "(?i)"+search;
System.out.println("Enter Replace Term:");
String replace = sc.nextLine();
String result = source.replaceAll(search, replace);
System.out.println("Result = "+result);
sc.close();
}
}
您是否注意到(?i)
搜索词的前缀?这是通过不区分大小写的方式传递正则表达式来匹配字符串。下图显示了由于我们使用replaceAll方法而将“ Android”和“ android”术语都替换为“ Java”的输出。
Java String replace第一个示例
Java字符串replaceFirst用于用替换字符串仅替换第一个匹配的正则表达式字符串。让我们看一下String replaceFirst方法的一个简单示例。
package com.journaldev.string;
public class JavaStringReplaceFirst {
public static void main(String[] args) {
String str = "Hello JournalDev Users";
str = str.replaceFirst("Hello", "Welcome");
System.out.println(str);
String str1 = "HELLO Java String Tutorial";
str1 = str1.replaceFirst("(?i)"+"hello", "Welcome to");
System.out.println(str1);
}
}
这就是带有示例代码的Java字符串替换方法的全部内容。