O método Java substring é utilizado para extrair uma substring de uma string completa. Existem duas variantes di­fe­ren­tes para isso: ou você divide a string de um índice definido até o final, ou você define o início e o fim da substring com an­te­ce­dên­cia.

O que é o método Java substring() e como usá-lo?

É possível combinar vários ca­rac­te­res, dígitos ou ca­rac­te­res especiais em uma string em Java. Se você quiser extrair partes es­pe­cí­fi­cas dessa string completa, existem várias maneiras de fazer isso. Enquanto o método Java String.split() divide a string inteira em partes in­di­vi­du­ais, pro­por­ci­o­nando uma visão mais clara, o método Java substring() vai um pouco além e retorna apenas uma parte da string que você define com a ajuda de um índice inicial ou al­ter­na­ti­va­mente com um índice inicial e final. Apre­sen­ta­mos a você o método e suas variantes.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

Como usar Java substring() com beginIndex

Como você pôde perceber na nossa in­tro­du­ção, existem duas variantes para o Java substring() em Java, que se di­fe­ren­ciam em alguns pontos. A primeira variante define apenas um ponto de início, a partir do qual a substring será formada. Esta variante divide a string nesse ponto até o último caractere da string. Sua sintaxe é a seguinte:

String substring(int beginIndex)
java

Primeiro, você deve de­ter­mi­nar a string da qual deseja extrair uma substring. Em seguida, você define com um valor inteiro a posição em que essa substring começa. A saída cor­res­pon­dente é obtida com o comando Java System.out.println. O método funciona de forma inclusiva, ou seja, o caractere na posição do índice também será incluído. Se o valor de beginIndex for menor que 0 ou maior que o com­pri­mento real da string, você receberá uma mensagem de erro.

Para ilustrar o fun­ci­o­na­mento deste método Java substring(), es­co­lhe­mos um exemplo simples, onde criamos uma string e depois extraímos uma substring dela em um de­ter­mi­nado ponto.

public class Main {
	public static void main(String args[]) {
	String Str = new String("Este é um exemplo. Aqui segue uma segunda frase.");
	System.out.print("Esta é a nova substring: ");
	System.out.println(Str.substring(23));
	}
}
java

Se você executar o código, obterá a seguinte saída:

Esta é a nova substring: Aqui segue uma segunda frase.
java

Claro, isso funciona igual­mente bem quando a string é composta por números:

public class Main {
	public static void main(String args[]) {
	String Str = new String("192.448.782.1142");
	System.out.print("Os últimos quatro dígitos são: ");
	System.out.println(Str.substring(12));
	}
}
java

Esta é a sua saída:

Os últimos quatro dígitos são: 1142
java

Como usar Java substring() com beginIndex e endIndex

Com a segunda variante do método Java substring(), você pode definir o trecho da string de forma ainda mais precisa. Nesse caso, você não apenas determina o ponto de início a partir do qual a substring deve ser extraído, mas também define um ponto final. A sintaxe cor­res­pon­dente é a seguinte:

String substring(int beginIndex, int endIndex)
java

Neste caso, o índice inicial é inclusivo e o índice final é exclusivo. Podemos ilustrar essa variante com um exemplo simples:

public class Main {
	public static void main(String args[]) {
	String Str = new String("Este é um exemplo. Aqui segue uma segunda frase.");
	System.out.print("Esta é a nova substring: ");
	System.out.println(Str.substring(9, 21));
	}
}
java

Isso gerará a seguinte saída:

Esta é a nova substring: um exemplo
java

É possível extrair uma substring dentro de uma palavra sem problemas. Por exemplo, a partir desta lista de compras fictícia:

public class Main {
	public static void main(String args[]) {
	String Str = new String("Ovos, leite, feijão, bacon e farinha");
	System.out.print("Esta é a nova substring: ");
	System.out.println(Str.substring(14, 20));
	}
}
java

A nova saída ficará assim:

A substring é: feijão
java

Fi­nal­mente, mostramos a seguir um exemplo prático de uso do método Java substring(). Suponha que você tenha recebido os dados de contato de um cliente em um formato es­pe­cí­fico e precise isolar apenas a parte im­por­tante para você. O método substring é ideal para essa tarefa. Aqui está um exemplo de código:

public class Main {
	public static void main(String args[]) {
	String Str = new String("247: Rosa, Mario|mariorosa@exemplo.com|Salvador|12.04.1972");
	System.out.print("Este é o endereço de e-mail do cliente: ");
	System.out.println(Str.substring(20, 41));
	}
}
java

A saída ficará assim:

Este é o endereço de e-mail do cliente: mariorosa@exemplo.com
java
Ir para o menu principal