métodos

Manejo de cadenas en Java. Métodos split, indexOf, substring y trim

Muchas veces nos es necesario tratar cadenas de texto, pero la mayoría de esas veces no utilizamos la cadena entera, sino que necesitamos extraer subcadenas que contienen datos relevantes.

Java tiene varios métodos para el manejo de cadenas. Los que vamos a tratar son los siguientes:

  • 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()

El método split devuelve un array de String. Es muy útil cuando tenemos un conjunto de elementos separados por comas. Por ejemplo:

 

La salida será:
    rojo
    amarillo
    verde
    azul
    morado
    marrón

El método indexOf devuelve la primera aparición de una cadena dentro de un String. Si le pasamos dos parámetros el primero será la cadena a buscar y el segundo la posición en la que empezará a buscar.
El método substring devolverá una subcadena del String, desde la posición de inicio hasta la posición de fin. Si sólo se especifica un parámetro la subcadena contendrá desde la posición de inicio hasta el final de la cadena. Se ve más claro en el siguiente ejemplo:

 

La salida será:
    amarillo
    amarillo,verde,azul,morado,marrón

Por último, el método trim devuelve una copia de la cadena, pero sin los espacios al inicio o al fin. Es bastante útil en el uso de formularios y en otras muchas ocasiones. Os dejo la prueba para vosotros.

Espero que os haya sido de ayuda.

Por favor, para consultas sobre estos métodos, abrir un tema en los foros de Java-Spain

Manejo de cadenas en Java - Metodo compareTo

Continuando con las anteriores entregas de Manejo de cadenas en Java, hoy vamos a comentar un método que es muy útil para ordenar listados de palabras.

Como su nombre indica, el método compareTo(String str) realiza una comparación entre un String (en este caso) y otro objeto de tipo String.

Lo que realmente hace este método, es observar una cadena con respecto a otra y devolverá un número entero int. Este número determinará cuál de las dos cadenas va antes o después. El entero valdrá menos que 0 si la cadena argumento es lexicográficamente mayor que la cadena a comparar, 0 si son iguales y será mayor que 0 si es menor. Por ejemplo:

 

Formateando números: NumberFormat

Para comenzar, simplemente comentar que esta clase es muy útil para presentar números por pantalla, teniendo el control en todo momento del formato que tendrán. Más adelante dedicaremos otro post a DecimalFormat, que hereda de esta primera.

NumberFormat es la clase más sencilla de las dos. Principalmente presenta los siguientes métodos:

  • getInstance() - Simplemente obtiene el formato del idioma actual.
  • getCurrencyInstance() - Igual que el anterior, pero con formato de moneda.

y sus respectivas variantes con un parámetro de tipo Locale, que sustituirá al idioma actual.

Para realizar el formato será necesario llamar al método format, como veréis en el ejemplo.

Esta clase supone un componente muy flexible a la hora de formatear números. Como siempre, me apoyaré en la documentación de Java para la explicación, dado que es nuestro más preciado recurso ;-).

 

Métodos replace, replaceFirst y replaceAll y expresiones regulares

Continuando con la entrada anterior de manejo de cadenas, voy a analizar los métodos siguientes:

Antes de nada, cabe explicar que un CharSequence es una interfaz que encapsula una secuencia de caracteres de sólo lectura y acceso uniforme. La clase String implementa dicha interfaz, al igual que las clases CharBuffer, Segment, StringBuffer y StringBuilder. Para usar el método replace lo más sencillo será utilizar un String normal.

Distribuir contenido