Como remover string de string em Java

Asad Riaz 12 outubro 2023
  1. replace() Método para remover uma subestrutura em Java
  2. StringBuffer.replace() Método para Remover Caracteres de String em Java
  3. replaceAll() Método para remover substring de String em Java
Como remover string de string em Java

Neste tutorial, aprenderemos como remover uma substring de qualquer string em Java.

replace() Método para remover uma subestrutura em Java

O primeiro e mais comumente utilizado método para remover/substituir qualquer substrato é o método replace() da classe Java String.

string.replace(char oldChar, char newChar)

O primeiro parâmetro é o substring a ser substituído, e o segundo parâmetro é o novo substring para substituir o primeiro parâmetro.

Códigos de exemplo:

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'););
  }
}

Resultado:

Original String: This is Simple Testing
Modified String with Replacement: Thas as Sample Testang

StringBuffer.replace() Método para Remover Caracteres de String em Java

Este método poderia remover/substituir qualquer substrato na faixa de índice determinada. Java StringBuffer é semelhante a String, mas é mutável.

A sintaxe do método StringBuffer.replace() é,

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

start e end são o índice inicial e final da faixa especificada. start é inclusivo, e end é exclusivo; portanto, a faixa atual é [start, end-1].

str é a string que substitui o conteúdo na faixa acima especificada.

Códigos de exemplo:

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);
  }
}

Resultado:

Original String: Simple Testing
Modified String: Simply Testing

replaceAll() Método para remover substring de String em Java

Outro método similar ao método replace() é utilizar o método replaceAll() da classe Java String.

Sua sintaxe é,

String replaceAll(String regex, String replace)

regex é o padrão da expressão regular.

regex é a string para substituir a existente.

Códigos de exemplo:

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", ""));
  }
}

Resultado:

Original String: This is Simple Testing Code
Modified String: This is Simple Testing 

Um ponto mais avançado para utilizar o método replaceAll() é utilizar um padrão da expressão regular para remover substratos que combinam com o padrão de uma só vez.

Códigos de exemplo:

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", ""));
  }
}

Resultado:

Original String: This Test is from Simple Testing Code to Test function 
Modified String: This  is from Simple  Code to  function 
Nota
Ambos os métodos replace() e replaceAll() substituem todas as ocorrências. A diferença entre eles é que o método replaceAll() utiliza um padrão de expressão regular.

Artigo relacionado - Java String