如何從 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()
方法使用正規表示式模式。