Cadenas en Java

kbza
30 de Diciembre del 2003
Hola, necesito ayuda en la manipulacion de cadenas, tengo una string de x espacios( # include conio), por ejemplo, quiero separarla en palabras, osea por cada espacio en blanco que se vaya a un array, osea lista[0]=#, lista[1]= include, lista[2]=conio
eso es lo que quiero hacer pero no puedo, si me ayudaran seria de gran ayuda, gracias

Ken
30 de Diciembre del 2003
Pues una manera de hacerlo es usando el StringTokenizer. Es una clase que creo que está en java.util (no estoy seguro). Un ejemplo sería:

String cadena="Hola que tal estas";
StringTokenizer token=new StringTokenizer(cadena, " ");
while(token.hasNextToken()){
System.out.println(token.nextToken);
}

Como ves, al constructor del StringTokenizer se le pasa la cadena y el "separador" que vas a utilizar. Crea un objeto tipo Collection, pero con tokens en lugar de elements. Se diferencia de una Enumeration (por ejemplo) en que todos los elementos se sabe que son cadenas, con el consabido ahorro de memoria (no tanto, según tengo entendido...)

Mírate la clase en sí en la documentación de java, que seguro que está llena de métodos últiles para lo que quieres hacer.

Salu2

Ken

daavich
30 de Diciembre del 2003
Otra posible manera es usando el método split de la clase String (esto sólo si tienes j2sdk 1.4.1 o superior). Actúa de una manera muy similar a StringTokenizer pero no tienes que crear un nuevo objeto ni nada:
String cadena="# include conio";
String partida[] = cadena.split(" ");

y puedes usar partida como un array de cadenas:
partida[0] = "#"
partida[1] = "include"
partida[2] = "conio"