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

Cortar una cadena

Estas en el tema de Cortar una cadena en el foro de Java en Foros del Web. Tengo una cadena que contiene datos dela forma: uno;dos;tres;cuatro..etc separados por ';' entre si, necesito un bucle que vaya leyendo la cadena y los separe ...
  #1 (permalink)  
Antiguo 20/05/2005, 03:07
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 279
Antigüedad: 19 años
Puntos: 2
Pregunta Cortar una cadena

Tengo una cadena que contiene datos dela forma: uno;dos;tres;cuatro..etc
separados por ';' entre si, necesito un bucle que vaya leyendo la cadena y los separe en las palabras que son separadas por ;

Gracias.
  #2 (permalink)  
Antiguo 20/05/2005, 03:53
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 19 años, 8 meses
Puntos: 1
Mírate este post de hoy mismo: http://www.forosdelweb.com/f45/problema-299932/ Usa el StringTokenizer, pero en lugar de poner "*-+/" como separador, ponte un ";" simple.
Saludos
__________________
Mi página personal: Julián Urbano
  #3 (permalink)  
Antiguo 20/05/2005, 04:21
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 279
Antigüedad: 19 años
Puntos: 2
java.lang.NullPointerException
java.util.StringTokenizer.<init>(StringTokenizer.j ava:119)
java.util.StringTokenizer.<init>(StringTokenizer.j ava:135)

me da ese error al ejecutarlo. No es mas sencllo hacerlo con string simples?
  #4 (permalink)  
Antiguo 20/05/2005, 04:30
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 19 años, 8 meses
Puntos: 1
Podrías ponernos tu código para ver qué tienes mal? Y no, no es más sencillo con String solamente. Por lo que veo, el String que le pasas al constructor del tokenizer es null.
Ponnos tu código, insisto
__________________
Mi página personal: Julián Urbano
  #5 (permalink)  
Antiguo 20/05/2005, 05:03
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 279
Antigüedad: 19 años
Puntos: 2
String valor=datos.getCadena();
String val="";
for(int h=0; h<valor.length;h++){
while(!(valor.charAt(h)=="-"))
{
val=val.add(charAt(h));
}
System.out.println(val);
val="";
}

Donde datos.getCadena() devuelve el valor del atributo cadena(tipo String) de un bean(datos).
Te agradezco mucho tu ayuda
  #6 (permalink)  
Antiguo 20/05/2005, 05:08
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 19 años, 8 meses
Puntos: 1
Creí que tus palabras estaban separadas por el carácter ; y no por el -. Te pongo el código para separar con guines:
Código:
String valor = datos.getCadena();
StringTokenizer tk = new StringTokenizer(valor, "-"); // Cambia aquí el separador
while(tk.hasMoreTokens()){
  System.out.println(tk.nextToken());
}
Acostúmbrate a usar el tokenizer, es muy útil aunque no lo parezca. Saludos
__________________
Mi página personal: Julián Urbano
  #7 (permalink)  
Antiguo 16/05/2011, 20:44
Avatar de ryor310575  
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Cortar una cadena

Buenas gente.

Me ayudo mucho este Post. Quisiera saber si alguno sabe como agregar espacios al final de una cadena para que tenga un tamaño determinado. Mi código parece sencillo pero falla.

if(palabraOriginal.length()<tamano){
char[] padChr=null;
int padInt=tamano-palabraOriginal.length();
for(int i=0;i<padInt;i++){
padChr[i]=' ';
}
String pad=new String(padChr);
palabraAjustada=palabraOriginal+pad;
}
  #8 (permalink)  
Antiguo 16/05/2011, 20:50
Avatar de ryor310575  
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Cortar una cadena

Aunque no se cual era mi error acá coloco como lo evite.

if(palabraOriginal.length()<tamano){
String padChr="";
int padInt=tamano-palabraOriginal.length();
for(int i=0;i<padInt;i++){
padChr+=" ";
}
palabraAjustada=palabraOriginal+padChr;
}
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 07:57.