Exemplos do Método substring() em Java String

Java String substring() método retorna a substring desta string. Este método sempre retorna uma nova string e a string original permanece inalterada porque String é imutável em Java.

Métodos Java String substring()

O método Java String substring é sobrecarregado e possui duas variantes.

  1. substring(int beginIndex): Este método retorna uma nova string que é uma substring desta string. A substring começa com o caractere no índice especificado e se estende até o final desta string.
  2. substring(int beginIndex, int endIndex): A substring começa no beginIndex especificado e se estende até o caractere no índice endIndex – 1. Assim, o comprimento da substring é (endIndex – beginIndex).

Pontos Importantes do Método String substring()

  1. Ambos os métodos de subcadeia de caracteres podem lançar IndexOutOfBoundsException se alguma das condições abaixo for atendida.
    • se o índice inicial for negativo
    • índice final for maior que o comprimento deste objeto String
    • índice inicial for maior que o índice final
  2. índice inicial é inclusivo e o índice final é exclusivo em ambos os métodos de subcadeia de caracteres.

Exemplo de substring() em Java

Aqui está um programa simples para subcadeia de caracteres em Java.

package com.journaldev.util;

public class StringSubstringExample {

	public static void main(String[] args) {
		String str = "www.journaldev.com";
		System.out.println("Last 4 char String: " + str.substring(str.length() - 4));
		System.out.println("First 4 char String: " + str.substring(0, 4));
		System.out.println("website name: " + str.substring(4, 14));
	}
}

A saída do exemplo de programa de subcadeia acima é:

Last 4 char String: .com
First 4 char String: www.
website name: journaldev

Verificação de Palíndromo usando o Método substring()

Podemos usar o método substring() para verificar se uma String é um palíndromo ou não.

package com.journaldev.util;

public class StringPalindromeTest {
	public static void main(String[] args) {
		System.out.println(checkPalindrome("abcba"));
		System.out.println(checkPalindrome("XYyx"));
		System.out.println(checkPalindrome("871232178"));
		System.out.println(checkPalindrome("CCCCC"));
	}

	private static boolean checkPalindrome(String str) {
		if (str == null)
			return false;
		if (str.length() <= 1) {
			return true;
		}
		String first = str.substring(0, 1);
		String last = str.substring(str.length() - 1);
		if (!first.equals(last))
			return false;
		else
			return checkPalindrome(str.substring(1, str.length() - 1));
	}
}

Aqui estamos verificando se a primeira letra e a última letra são iguais ou não. Se elas não forem iguais, retorna falso. Caso contrário, chame o método novamente recursivamente passando a subcadeia com a primeira e a última letra removida.

Pode conferir mais exemplos de strings em nosso Repositório no GitHub.

Referência: Documentação da API Oracle

Source:
https://www.digitalocean.com/community/tutorials/java-string-substring