Вы находитесь на странице: 1из 9

Manejo de cadenas en Java

Java tiene varios mtodos 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()

Split
El mtodo split devuelve un array de String. Es muy til cuando tenemos un conjunto de elementos separados por comas. Por
ejemplo:

String nombres = "Maria,Carlos,Juan,Angel,Sara";


String[] arraynombres = nombres.split(",");

// En este momento tenemos un array en el que cada elemento es un nombre.

for (int i = 0; i < arraynombres.length; i++) {


System.out.println(arraynombres[i]);
}

indexOf

El mtodo indexOf devuelve la primera aparicin de una cadena dentro de un String. Si le pasamos dos parmetros el primero ser
la cadena a buscar y el segundo la posicin en la que empezar a buscar.
El mtodo substring devolver una subcadena del String, desde la posicin de inicio hasta la posicin de fin. Si slo se especifica
un parmetro la subcadena contendr desde la posicin de inicio hasta el final de la cadena. Se ve ms claro en el siguiente
ejemplo:
String

colores = "rojo,amarillo,verde,azul,morado,marrn";

int inicio = colores.indexOf(",");


int fin = colores.indexOf(",", inicio + 1);
System.out.println(colores.substring(inicio + 1,
System.out.println(colores.substring(inicio));

La salida ser:
amarillo
amarillo,verde,azul,morado,marrn

fin));

Por ltimo, el mtodo 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.

La comparacin de strings nos da la oportunidad de distinguir entre el operador lgico == y la funcin miembro equals de la clase
String. En el siguiente cdigo
String str1="El lenguaje Java";
String str2=new String("El lenguaje Java");
if(str1==str2){
System.out.println("Los mismos objetos");
}else{
System.out.println("Distintos objetos");
}
if(str1.equals(str2)){

System.out.println("El mismo contenido");


}else{
System.out.println("Distinto contenido");
}

Esta porcin de cdigo devolver que str1 y str2 son distintos objetos pero con el mismo contenido. str1 y str2 ocupan posiciones
distintas en memoria pero guradan los mismos datos.
Cambiemos la segunda sentencia y escribamos
String str1="El lenguaje Java";
String str2=str1;
System.out.prinln("Son el mimso objeto "+(str1==str2);

Los objetos str1 y str2 guardan la misma referencia al objeto de la clase String creado. La expresin (str1==str2) devolver true.
As pues, el mtodo equals compara un string con un objeto cualquiera que puede ser otro string, y devuelve true cuando dos
strings son iguales o false si son distintos.

String str="El lenguaje Java";


boolean resultado=str.equals("El lenguaje Java");

La variable resultado tomar el valor true.

La funcin miembro compareTo devuelve un entero menor que cero si el objeto string es menor (en orden alfabtico) que el string
dado, cero si son iguales, y mayor que cero si el objeto string es mayor que el string dado.
String str="Toms";
int resultado=str.compareTo("Alberto");

La variable entera resultado tomar un valor mayor que cero, ya que Toms est despus de Alberto en orden alfabtico.
String str="Alberto";
int resultado=str.compareTo("Toms");

La variable entera resultado tomar un valor menor que cero, ya que Alberto est antes que Toms en orden alfabtico.

En muchas ocasiones es necesario extraer una porcin o substring de un string dado. Para este propsito hay una funcin
miembro de la clase String denominada substring.
Para estraer un substring desde una posicin determinada hasta el final del string escribimos
String str="El lenguaje Java";
String subStr=str.substring(12);

Se obtendr el substring "Java".


Una segunda versin de la funcin miembro substring, nos permite extraer un substring especificando la posicin de comienzo y la
el final.
String str="El lenguaje Java";
String subStr=str.substring(3, 11);

Se obtendr el substring "lenguaje". Recuerde, que las posiciones se empiezan a contar desde cero.

Para convertir un nmero en string se emplea la funcin miembro esttica valueOf


int valor=10;
String str=String.valueOf(valor);
La clase String proporciona versiones de valueOf para convertir los datos primitivos: int, long, float, double.
Esta funcin se emplea mucho cuando programamos applets, por ejemplo, cuando queremos mostrar el resultado de un clculo en
el rea de trabajo de la ventana o en un control de edicin.
Volver al ndice
Cuando introducimos caracteres en un control de edicin a veces es inevitable que aparezcan espacios ya sea al comienzo o al
final. Para eliminar estos espacios tenemos la funcin miembro trim().
String str=" 12 ";
String str1=str.trim();
Para convertir un string en nmero entero, primero quitamos los espacios en blanco al principio y al final y luego, llamamos a la
funcin miembro esttica parseInt de la clase Integer (clase envolvente que describe los nmeros enteros).
String str=" 12 ";
int numero=Integer.parseInt(str.trim());
Para convertir un string en nmero decimal (double) se requieren dos pasos: convertir el string en un objeto de la clase envolvente
Double, mediante la funcin miembro esttica valueOf, y a continuacin convertir el objeto de la clase Double en un tipo primitivo
double mediante la funcin doubleValue().
String str="12.35 ";
double numero=Double.valueOf(str).doubleValue();

Se puede hacer el mismo procedimiento para convertir un string a nmero entero


String str="12";
int numero=Integer.valueOf(str).intValue();

Funciones Bsicas
Devuelve la longitud de la cadena
int length();
Devuelve el carcter que se encuentra en la posicin que se indica en indice :
char charAt( int indice );

Funciones de Comparacin de Strings


boolean equalsIgnoreCase( Object obj );
Lo mismo que equals() pero no tiene en cuenta maysculas o minsculas.
int compareTo( String str2 );
Devuelve un entero menor que cero si la cadena es lxicamente menor que str2 . Devuelve cero si las dos cadenas son
lxicamente iguales y un entero mayor que cero si la cadena es lxicamente mayor que str2.

Вам также может понравиться