A veces nos encontramos en la situación en que necesitamos extraer una porción de una cadena de texto, es decir una subcadena, que contienen datos relevantes.

Para ello Java cuenta con varios métodos para el manejo de cadenas, los más comunes son:
  • String[ ] split(String regex)
  • int          indexOf(int ch)
  • int          indexOf(int ch, int fromIndex)
  • String    substring(int beginIndex)
  • String    substring(int beginIndex, int endIndex)
  • String    trim()
En está ocasión solo explicaré los métodos split, que devuelve un array de String y trim que elimina los espacios. El método split es muy útil cuando tenemos un conjunto de elementos separados por comas, guiones, etc.

Dicho lo anterior, veamos un ejemplo sencillo para entender como utilizar el método split en Java.
String colores = "amarillo,rojo,azul,verde,marrón";
String[ ] arrayColores = colores.split(",");

// Aquí ya tenemos un array en el que cada elemento es un color.

for (int i = 0; i < arrayColores.length; i++) {
       System.out.println(arrayColores[i]);
}
Luego la salida que obtendremos es:

amarillo
rojo
azul
verde
marrón

Finalmente debo acotar que hay ciertos caracteres especiales que nos ocasionan problemas.

Problemas con Split y carácteres especiales

Si queremos hacer un split en Java partiendo la cadena por un carácter especial como ".", "&", "$", etc. tendremos problemas. Para ello la solución es utilizar los carácteres de escape "\\" como prefijo.

Incorrecto

String cadena = "Mun.do.Te.le.co";
String[ ] lista = cadena.split(".");

Correcto

String cadena = "Mun.do.Te.le.co";
String[ ] lista = cadena.split("\\.");

Método trim

Método que sirve para eliminar los caracteres en blanco iniciales y finales de una cadena, devolviendo una copia de la misma.
String cadena = " Esto Es Una Cadena";   //Existe un espacio al inicio de la cadena.
System.out.println(cadena.trim());               //Devuelve "Esto Es Una Cadena"

0 Comentarios:

Dejar un comentario

Los comentarios están siendo moderados y serán publicados a la brevedad.