Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Por que pasa esto...al utilizar cadena.split( "." )

Buenas para todos...

Estoy desarrollando una aplicacion y esta es la primera vez que me tropiezo con algo asi...

Este es un fragmento del codigo:

int numberProduction;
String [] token;
String line;
while( ( line = br.readLine() ) != null ) {

token = line.split( " " );
numberProduction = Integer.parseInt( token[0] );
left = new Left( token[1] );

/* hasta aqui todo bien */

token = addSeparator( token[2] );

/* aqui es donde tengo el problema...porque el metodo addSeparator( );
me devuelve un String [ ] y no importa la variable que ponga para
recibirlo, siempre me queda en 0*/

right = new Right( token );

production = new Production( numberProduction, left, right );
}

He realizado el dabug varias veces y al metodo addSeparator() le entra una linea:
"a[A][B]cd" y al final queda una nueva linea "a.[A].[B].c.d"

luego hago un return newLine.split( "." ) y token me queda vacio...

esta es la clase completa por si no se entiende: http://pastebin.com/9smewTRM

Agredezco cualquier ayuda que me puedan dar...

Muchas gracias!!!

abril 10, 2013 | Registered Commenterju4n

Guenas.

el metodo split acepta expresiones regulares. El caracter '.' tiene un significado especial y si quieres que lo tome literalmente debes escaparlo

Haz:
string.split("\\.");

Saludos

abril 10, 2013 | Unregistered CommenterPaposo

Gracias brother por tu respuesta...como en la documentacion del metodo no decia nada de esto pense que era algun problema mio...buen dato!!!

abril 10, 2013 | Registered Commenterju4n