Java string substring(): variantes e funcionamento do método
O método substring do Java é usado para extrair um fragmento de uma string. Existem duas variantes diferentes: pode separar a string a partir de um índice específico até ao fim, ou pode indicar onde o fragmento começa e termina.
O que é e como se usa o método substring em Java?
Em Java, pode combinar várias letras, números ou caracteres especiais numa mesma string Java. Se quiser extrair uma secção de uma string completa, tem várias opções. Com o método string.split, pode dividir a string inteira em fragmentos individuais, o que lhe dará uma aparência mais clara. O método Java string substring() vai um passo além e retorna apenas um fragmento da string, que pode ser definido com um índice inicial ou um índice inicial e final. A seguir, apresentamos uma explicação do método e suas variantes.
Substring com beginIndex
Como pode ver na introdução, o método Java substring() tem duas variantes que diferem em alguns elementos. A primeira variante estabelece um ponto de início a partir do qual a subcadeia deve ser formada. Assim, a string é separada desse ponto até o último caractere da string. A sintaxe é a seguinte:
String substring(int beginIndex)javaPrimeiro, deve decidir de qual string deseja extrair um fragmento. Em seguida, insira um número inteiro para especificar a posição em que essa subcadeia começa. O resultado será emitido com o comando Java System.out.println. Este método funciona de forma inclusiva, pelo que o caractere que está na posição do índice também é separado. Se o valor beginIndex for menor que 0 ou maior que o número total de caracteres da string, receberá um aviso de erro.
Mostramos-lhe o funcionamento do método substring em Java com base num exemplo simples, no qual criámos uma string e extraímos um fragmento a partir de um ponto específico:
public class Main {
public static void main(String args[]) {
String Str = new String("Esto es un ejemplo. Ahora empieza una segunda frase.");
System.out.print("Este es el fragmento nuevo: ");
System.out.println(Str.substring(20));
}
}javaSe executar o código, obterá o seguinte:
Este es el fragmento nuevo: Ahora empieza una segunda frase.javaEvidentemente, este método também é compatível com uma sequência de números:
public class Main {
public static void main(String args[]) {
String Str = new String("192.448.782.1142");
System.out.print("´Las últimas cuatro cifras son: ");
System.out.println(Str.substring(12));
}
}javaE retorna o seguinte:
Las últimas cuatro cifras son: 1142javaSubstring com beginIndex e endIndex
Com a segunda variante do método Substring do Java, pode projetar a subcadeia de forma ainda mais precisa, conforme necessário. Neste caso, não só determina onde começa a extrair a subcadeia, como também indica o ponto final. A sintaxe seria assim:
String substring(int beginIndex, int endIndex)javaO beginIndex é inclusivo e o endIndex é exclusivo. Abaixo, pode ver como esta variante funciona com outro exemplo simples:
public class Main {
public static void main(String args[]) {
String Str = new String("Esto es un ejemplo. Ahora empieza una segunda frase.");
System.out.print("Este es el fragmento nuevo: ");
System.out.println(Str.substring(8, 20));
}
}javaAssim, o resultado é o seguinte:
Este es el fragmento nuevo: un ejemplojavaVocê também pode criar facilmente uma subcadeia dentro de uma palavra. Para isso, extraímos um elemento desta lista de compras fictícia:
public class Main {
public static void main(String args[]) {
String Str = new String("huevos, leche, judías, beicon y harina");
System.out.print("Este es el fragmento nuevo: ");
System.out.println(Str.substring(15, 21));
}
}javaRetorna o seguinte:
Este es el fragmento nuevo: judíasjavaPor último, abaixo tem outro exemplo para ver outra forma de usar o método substring do Java. Imagine que lhe enviaram os dados de contacto de um cliente num formato específico e que só quer isolar uma parte que lhe interessa. Este método é ideal para o fazer. Criamos o seguinte código:
public class Main {
public static void main(String args[]) {
String Str = new String("247: García, Pedro|garciap@ejemplo.com|Madrid|12.04.1972");
System.out.print("Este es el correo del cliente: ");
System.out.println(Str.substring(19, 38));
}
}javaO resultado é o seguinte:
Este es el correo del cliente: garciap@ejemplo.comjava