Foros del Web » Programación para mayores de 30 ;) » Java »

Split con campos vacios

Estas en el tema de Split con campos vacios en el foro de Java en Foros del Web. Hola a todos, tengo un problemilla, a ver si alguien sabe solucionármelo. tengo un string de esta manera: 01;32432;3235;;;;3252;;fdhdd;;;;;;;;56565;;;N;;;; y quiero meter todos los campos ...
  #1 (permalink)  
Antiguo 28/10/2009, 10:03
 
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid
Mensajes: 96
Antigüedad: 16 años, 5 meses
Puntos: 2
Split con campos vacios

Hola a todos,

tengo un problemilla, a ver si alguien sabe solucionármelo.

tengo un string de esta manera:

01;32432;3235;;;;3252;;fdhdd;;;;;;;;56565;;;N;;;;

y quiero meter todos los campos en un array, lo hago con split:

String[] array = str.split(";");

resulta que no obtengo un array completo con todos los campos, porque parece ser que los últimos campos vacios no los mete en el array. El problema es que así no puedo contabilizar el número de campos.

He probado con str.replaceAll(";;","; ;") pero entonces no tendría campos vacíos sino campos con un espacio.

¿Alguien sabe alguna manera de hacerlo?
sinó tendré que usar esta y luego utilizar un trim() pero igual existe otra forma.

gracias de antemano.
  #2 (permalink)  
Antiguo 28/10/2009, 10:53
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 3 meses
Puntos: 10
Respuesta: Split con campos vacios

Wenas

Código:
 if (str.substring(0,1).equals(";")) //si empieza por ;, ej, ;01;32432;3235
        str = " " + str;                
 ArrayList<String> tokens = new ArrayList<String>();

 Scanner tokenize = new Scanner(str).useDelimiter(";");
 while (tokenize.hasNext()) 
     tokens.add(tokenize.next());

    return tokens.toArray();
Saludos.
  #3 (permalink)  
Antiguo 17/11/2009, 05:52
 
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid
Mensajes: 96
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Split con campos vacios

Perdón por tardar en contestar, lo olvidé por completo.

Muchas gracias elAntoine, me será muy util.

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:37.