HOWTO · Java

如何從 Java 中的字串中刪除子字串

本教程說明如何使用多種方法從 Java 中的任何給定字串中刪除子字串,例如使用 repalce(),replaceAll()和 StringBuffer()。

在本教程中,我們將學習如何從 Java 中的任何給定字串中刪除子字串。

replace() 方法刪除 Java 中的子字串

刪除/替換任何子字串的第一個也是最常用的方法是 Java String 類的 replace() 方法。

string.replace(char oldChar, char newChar)

第一個引數是要替換的子字串,第二個引數是要替換第一個引數的新子字串。

示例程式碼:

import java.text.*;
import java.util.List;

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 StringBufferString 類似,但是是可變型別

StringBuffer.replace() 方法的語法是,

StringBuffer replace(int start, int end, String str)

startend 是指定範圍的開始和結束索引。start 是包含在內的,而 end 是不包含的,因此,實際範圍是 [start, end-1]

str 是用來替換上述指定範圍內內容的字串。

示例程式碼:

import java.text.*;
import java.util.List;

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.text.*;
import java.util.List;

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.text.*;
import java.util.List;

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