Java string substring(): variantes y funcionamiento del método
El método substring de Java se usa para extraer un fragmento de un string. Existen dos variantes diferentes: puedes separar el string a partir de un índice concreto hasta el final, o puedes indicar dónde empieza y dónde acaba el fragmento.
¿Qué es y cómo se usa el método substring
en Java?
En Java puedes combinar múltiples letras, cifras o caracteres especiales en un mismo string de Java. Si quieres extraer una sección de un string completo, tienes múltiples opciones. Con el método de string.split puedes dividir el string entero en fragmentos individuales, lo que le otorgará un aspecto más claro. El método de Java string substring() va un paso más allá y te devuelve solo un fragmento del string, que puedes definir con un índice de inicio o un índice de inicio y final. A continuación, dispones de una explicación del método y sus variantes.
- Rápido, seguro, flexible y escalable
- Seguro con SSL y protección DDoS
- Dominio y asesor personal incluidos
Substring
con beginIndex
Como puedes ver en la introducción, el método de Java substring() cuenta con dos variantes que se diferencian en algunos elementos. La primera variante establece un punto de inicio a partir del cual debe formarse la subcadena. Así, se separa el string desde ese punto hasta el último carácter del string. La sintaxis es la siguiente:
String substring(int beginIndex)
javaPrimero debes decidir a qué string quieres extraerle un fragmento. Luego, introduce un número entero para especificar la posición en la que empieza esa subcadena. El resultado se emitirá con el comando de Java System.out.println
. Este método funciona de manera inclusiva, así que el carácter que está en la posición del índice también se separa. Si el valor beginIndex es menor a 0 o mayor al número total de caracteres del string, recibirás un aviso de error.
Te mostramos el funcionamiento del método substring en Java en base de un sencillo ejemplo, en el cual hemos creado un string y extraemos un fragmento a partir de un punto concreto:
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));
}
}
javaSi ejecutas el código, obtendrás lo siguiente:
Este es el fragmento nuevo: Ahora empieza una segunda frase.
javaEvidentemente este método también es compatible con un string 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));
}
}
javaY devuelve lo siguiente:
Las últimas cuatro cifras son: 1142
javaSubstring
con beginIndex
y endIndex
Con la segunda variante del método Substring de Java puedes diseñar la subcadena de forma aún más precisa según requieras. En este caso no solo determinas dónde se empieza a extraer la subcadena, también indicas el punto final. La sintaxis sería así:
String substring(int beginIndex, int endIndex)
javaEl beginIndex es inclusivo y el endIndex es excluyente. Abajo puedes ver cómo funciona esta variante con otro ejemplo sencillo:
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));
}
}
javaAsí el resultado es el siguiente:
Este es el fragmento nuevo: un ejemplo
javaTambién puedes crear fácilmente una subcadena dentro de una palabra. Para ello, extraemos un elemento de esta lista de la compra ficticia:
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));
}
}
javaTe devuelve lo siguiente:
Este es el fragmento nuevo: judías
javaPor último, abajo tienes otro ejemplo para que veas otra forma de uso del método substring de Java. Imagina que te han enviado los datos de contacto de un cliente en un formato concreto y que solo quieres aislar una parte que te interesa. Este método es ideal para hacerlo. Creamos el siguiente 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));
}
}
javaEl resultado es el siguiente:
Este es el correo del cliente: garciap@ejemplo.com
java