如何从 Java 中的字符串中删除子字符串
Asad Riaz
2023年1月30日
2020年6月9日
-
replace()
方法删除 Java 中的子字符串 -
StringBuffer.replace()
方法从 Java 中的字符串中删除字符 -
replaceAll()
方法从 Java 中的字符串中删除子字符串
在本教程中,我们将学习如何从 Java 中的任何给定字符串中删除子字符串。
replace()
方法删除 Java 中的子字符串
删除/替换任何子字符串的第一个也是最常用的方法是 Java String
类的 replace()
方法。
string.replace(char oldChar, char newChar)
第一个参数是要替换的子字符串,第二个参数是要替换第一个参数的新子字符串。
示例代码:
import java.util.List;
import java.text.*;
public class SimpleTesting {
public static void main(String[] args) {
String originalstring = "This is Simple Testing";
String replace = originalstring.replace('i', 'a');
System.out.println("Original String: " + originalstring);
System.out.println("Modified String with Replacement: " +
originalstring.replace('i', 'a'););
}
}
输出:
Original String: This is Simple Testing
Modified String with Replacement: Thas as Sample Testang
StringBuffer.replace()
方法从 Java 中的字符串中删除字符
此方法可以删除/替换给定索引范围内的任何子字符串。Java StringBuffer
与 String
类似,但是是可变类型。
StringBuffer.replace()
方法的语法是,
StringBuffer replace(int start,
int end,
String str)
start
和 end
是指定范围的开始和结束索引。start
是包含在内的,而 end
是不包含的,因此,实际范围是 [start, end-1]
。
str
是用来替换上述指定范围内内容的字符串。
示例代码:
import java.util.List;
import java.text.*;
public class SimpleTesting {
public static void main(String[] args) {
StringBuffer originalString =
new StringBuffer("Simple Testing");
System.out.println
("Original String: " + originalString);
originalString.replace( 5 ,6 ,"y");
System.out.println
("Modified String: " + originalString);
}
}
输出:
Original String: Simple Testing
Modified String: Simply Testing
replaceAll()
方法从 Java 中的字符串中删除子字符串
与 replace()
方法类似的另一种方法是使用 Java String
类的 replaceAll()
方法。
它的语法是
String replaceAll(String regex, String replace)
regex
是正则表达式的模式。
replace
是替换现有字符串的字符串。
示例代码:
import java.util.List;
import java.text.*;
public class SimpleTesting {
public static void main(String[] args) {
String originalstring =
"This is Simple Testing Code";
System.out.println
("Original String: " + originalstring);
System.out.println
("Modified String: " + originalstring.replaceAll("Code", ""));
}
}
输出:
Original String: This is Simple Testing Code
Modified String: This is Simple Testing
使用 replaceAll()
方法的另一个更好的地方是使用正则表达式的模式来一次删除所有与该模式匹配的子字符串。
示例代码:
import java.util.List;
import java.text.*;
public class SimpleTesting {
public static void main(String[] args) {
String originalstring =
"This Test is from Simple Testing Code to Test function ";
System.out.println
("Original String: " + originalstring);
System.out.println
("Modified String: " + originalstring.replaceAll("Tes.*?\\b", ""));
}
}
输出:
Original String: This Test is from Simple Testing Code to Test function
Modified String: This is from Simple Code to function
注意
replace()
和 replaceAll()
方法都替换所有出现的情况。它们之间的区别是 replaceAll()
方法使用正则表达式模式。