Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Extraindo Informações de Strings em Java | Strings
Introdução ao Java

Extraindo Informações de Strings em Java

Deslize para mostrar o menu

Ao trabalhar com texto em aplicações reais, raramente é necessário utilizar a string inteira — na maioria das vezes, você precisa apenas de uma pequena parte dela. Um nome dentro de um e-mail, um produto em uma mensagem de pedido ou uma palavra-chave específica escondida em uma frase. O Java oferece ferramentas simples, mas poderosas, para extrair exatamente o que precisamos.

substring()

Quando for necessário obter um "recorte" de uma string com base nas posições dos caracteres, utilize .substring(). Esse método utiliza indexação baseada em zero — a contagem começa em 0. Ele retorna uma nova String.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }

substring(6, 11) instrui o Java a começar no índice 6 (incluído) e parar logo antes do índice 11 (excluído) — extraindo os caracteres nas posições de 6 a 10, o que resulta em "Latte".

Se você usar substring(start) com apenas um argumento, o Java extrai tudo a partir dessa posição até o final da string:

order.substring(6); // "Latte with oat milk"

indexOf()

Para localizar onde um texto específico está dentro de uma string, utilize .indexOf(). Em vez de cortar o texto, ele localiza. Retorna um int representando o índice inicial da correspondência.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }

Java percorre a string da esquerda para a direita até encontrar "Latte" e retorna a posição do seu primeiro caractere — 6. Se o texto não for encontrado em nenhum lugar da string, Java retorna -1.

Combinando Ambos — Exemplo Real

Este exemplo real combina indexOf() e substring() para extrair um nome de usuário de um endereço de e-mail.

Main.java

Main.java

1234567891011121314
package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }

indexOf("@") encontra a posição do símbolo @, então substring(0, atPosition) extrai tudo desde o início da string até — mas não incluindo — o @. O resultado é "anna.coffee". Em vez de fixar posições manualmente, deixamos o Java localizar o limite e extrair exatamente o que precisamos.

question mark

O que substring(start, end) faz em Java?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Extraindo Informações de Strings em Java

Ao trabalhar com texto em aplicações reais, raramente é necessário utilizar a string inteira — na maioria das vezes, você precisa apenas de uma pequena parte dela. Um nome dentro de um e-mail, um produto em uma mensagem de pedido ou uma palavra-chave específica escondida em uma frase. O Java oferece ferramentas simples, mas poderosas, para extrair exatamente o que precisamos.

substring()

Quando for necessário obter um "recorte" de uma string com base nas posições dos caracteres, utilize .substring(). Esse método utiliza indexação baseada em zero — a contagem começa em 0. Ele retorna uma nova String.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }

substring(6, 11) instrui o Java a começar no índice 6 (incluído) e parar logo antes do índice 11 (excluído) — extraindo os caracteres nas posições de 6 a 10, o que resulta em "Latte".

Se você usar substring(start) com apenas um argumento, o Java extrai tudo a partir dessa posição até o final da string:

order.substring(6); // "Latte with oat milk"

indexOf()

Para localizar onde um texto específico está dentro de uma string, utilize .indexOf(). Em vez de cortar o texto, ele localiza. Retorna um int representando o índice inicial da correspondência.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }

Java percorre a string da esquerda para a direita até encontrar "Latte" e retorna a posição do seu primeiro caractere — 6. Se o texto não for encontrado em nenhum lugar da string, Java retorna -1.

Combinando Ambos — Exemplo Real

Este exemplo real combina indexOf() e substring() para extrair um nome de usuário de um endereço de e-mail.

Main.java

Main.java

1234567891011121314
package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }

indexOf("@") encontra a posição do símbolo @, então substring(0, atPosition) extrai tudo desde o início da string até — mas não incluindo — o @. O resultado é "anna.coffee". Em vez de fixar posições manualmente, deixamos o Java localizar o limite e extrair exatamente o que precisamos.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 7
some-alt