Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Extracción de Información de Cadenas en Java | Cadenas
Introducción a Java

Extracción de Información de Cadenas en Java

Desliza para mostrar el menú

Al trabajar con texto en aplicaciones reales, rara vez se necesita toda la cadena; la mayoría de las veces solo se requiere una pequeña parte de ella. Un nombre dentro de un correo electrónico, un producto dentro de un mensaje de pedido o una palabra clave específica oculta en una oración. Java nos proporciona herramientas simples pero potentes para extraer exactamente lo que necesitamos.

substring()

Si necesitas tomar una "porción" de una cadena basada en posiciones de caracteres, utiliza .substring(). Se basa en indexación desde cero — la cuenta comienza desde 0. Devuelve un nuevo 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) le indica a Java que comience en el índice 6 (incluido) y se detenga justo antes del índice 11 (excluido), extrayendo los caracteres en las posiciones 6 a 10, lo que nos da "Latte".

Si usas substring(start) con solo un argumento, Java extrae todo desde esa posición hasta el final de la cadena:

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

indexOf()

Si necesitas encontrar dónde se encuentra un texto específico dentro de una cadena, utiliza .indexOf(). En lugar de cortar texto, lo localiza. Devuelve un int que representa el índice inicial de la coincidencia.

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 escanea la cadena de izquierda a derecha hasta que encuentra "Latte" y devuelve la posición de su primer carácter — 6. Si el texto no se encuentra en ninguna parte de la cadena, Java devuelve -1.

Combinando ambos — Ejemplo real

Este ejemplo real combina indexOf() y substring() para extraer un nombre de usuario de una dirección de correo electrónico.

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("@") encuentra la posición del símbolo @, luego substring(0, atPosition) extrae todo desde el inicio de la cadena hasta — pero sin incluir — el @. El resultado es "anna.coffee". En lugar de codificar posiciones fijas, dejamos que Java localice el límite y extraiga exactamente lo que necesitamos.

question mark

¿Qué hace substring(start, end) en Java?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Extracción de Información de Cadenas en Java

Al trabajar con texto en aplicaciones reales, rara vez se necesita toda la cadena; la mayoría de las veces solo se requiere una pequeña parte de ella. Un nombre dentro de un correo electrónico, un producto dentro de un mensaje de pedido o una palabra clave específica oculta en una oración. Java nos proporciona herramientas simples pero potentes para extraer exactamente lo que necesitamos.

substring()

Si necesitas tomar una "porción" de una cadena basada en posiciones de caracteres, utiliza .substring(). Se basa en indexación desde cero — la cuenta comienza desde 0. Devuelve un nuevo 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) le indica a Java que comience en el índice 6 (incluido) y se detenga justo antes del índice 11 (excluido), extrayendo los caracteres en las posiciones 6 a 10, lo que nos da "Latte".

Si usas substring(start) con solo un argumento, Java extrae todo desde esa posición hasta el final de la cadena:

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

indexOf()

Si necesitas encontrar dónde se encuentra un texto específico dentro de una cadena, utiliza .indexOf(). En lugar de cortar texto, lo localiza. Devuelve un int que representa el índice inicial de la coincidencia.

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 escanea la cadena de izquierda a derecha hasta que encuentra "Latte" y devuelve la posición de su primer carácter — 6. Si el texto no se encuentra en ninguna parte de la cadena, Java devuelve -1.

Combinando ambos — Ejemplo real

Este ejemplo real combina indexOf() y substring() para extraer un nombre de usuario de una dirección de correo electrónico.

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("@") encuentra la posición del símbolo @, luego substring(0, atPosition) extrae todo desde el inicio de la cadena hasta — pero sin incluir — el @. El resultado es "anna.coffee". En lugar de codificar posiciones fijas, dejamos que Java localice el límite y extraiga exactamente lo que necesitamos.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 7
some-alt