# 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](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/strings-java/). Se quiser extrair uma secção de uma string completa, tem várias opções. Com o método [string.split](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/divisao-de-cadeias-de-caracteres-java/), 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:

```java
String substring(int beginIndex)
```

Primeiro, 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:

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

Se executar o código, obterá o seguinte:

```java
Este es el fragmento nuevo: Ahora empieza una segunda frase.
```

Evidentemente, este método também é compatível com uma sequência de números:

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

E retorna o seguinte:

```java
Las últimas cuatro cifras son: 1142
```

## `Substring` 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:

```java
String substring(int beginIndex, int endIndex)
```

O beginIndex é inclusivo e o endIndex é exclusivo. Abaixo, pode ver como esta variante funciona com outro exemplo simples:

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

Assim, o resultado é o seguinte:

```java
Este es el fragmento nuevo: un ejemplo
```

Você também pode criar facilmente uma subcadeia dentro de uma palavra. Para isso, extraímos um elemento desta lista de compras fictícia:

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

Retorna o seguinte:

```java
Este es el fragmento nuevo: judías
```

Por ú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:

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

O resultado é o seguinte:

```java
Este es el correo del cliente: garciap@ejemplo.com
```


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/substring-de-string-java/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/substring-de-string-java/) for AI/LLM consumption.