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

Duda con reemplazo de caracteres en una cadena

Estas en el tema de Duda con reemplazo de caracteres en una cadena en el foro de Java en Foros del Web. Hola, Tengo una cadena de texto así: 29-11-2011-05-07 y necesito que quede así: 29-11-2011 05:07 ¿Cómo lo puedo hacer? si no es mucha molestia Es ...
  #1 (permalink)  
Antiguo 28/11/2011, 23:11
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 3 meses
Puntos: 12
Duda con reemplazo de caracteres en una cadena

Hola,

Tengo una cadena de texto así:

29-11-2011-05-07

y necesito que quede así:

29-11-2011 05:07

¿Cómo lo puedo hacer? si no es mucha molestia

Es que con replace y replaceAll me funcionan otras cosas más sencillas pero eso no lo he conseguido hacer.

Saludos
  #2 (permalink)  
Antiguo 29/11/2011, 03:06
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Duda con reemplazo de caracteres en una cadena

La forma más sencilla es que hagas un split usando como separardor "-", después unes los trozos a tu gusto.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 29/11/2011, 08:57
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 3 meses
Puntos: 12
Respuesta: Duda con reemplazo de caracteres en una cadena

Hice algo con substgring y replaceAll, 'funciona', pero al no tener un tamaño estático la cadena pues no me sirve.

¿Eso que comentas luego tendría que iterarlo?

Estaba pensando en utilizar Stringtokenizer aunque creo que lo mejor sería usan un patrón http://docs.oracle.com/javase/7/docs...x/Pattern.html

Que convirtiera esto >> 29-11-2011-15-40 >> a esto >> 29/11/2011 15:40

¿Podrían ayudarme un poco a construirlo?

Saludos

PD: por cierto gracias

Última edición por javih; 29/11/2011 a las 09:07
  #4 (permalink)  
Antiguo 29/11/2011, 11:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 9 meses
Puntos: 78
Respuesta: Duda con reemplazo de caracteres en una cadena

Hola,
si cortas "29-11-2011-15-40" por la cadena "-" con el split tendras un array de 5 posiciones, podrás jugar con ellos como quieras.

Un saludo!
  #5 (permalink)  
Antiguo 29/11/2011, 13:32
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Duda con reemplazo de caracteres en una cadena

La otra opción es que uses 2 SimpleDateFormat, los patrones no son adecuados para esto.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 29/11/2011, 17:39
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 3 meses
Puntos: 12
Respuesta: Duda con reemplazo de caracteres en una cadena

Así es como hago para mostrarlo,

Código:
private static final SimpleDateFormat FORMATO-FECHA = new SimpleDateFormat("dd-MM-yyyy hh:mm");
Código:
setText(FORMATO-FECHA.format(new Date());
Ahora tendría que hacer lo mismo pero en vez de pasarle a .format() el objeto date pasarle el string (o eso es la idea), no se si funcionará no lo he intentado, lo pruebo.

Saludos
  #7 (permalink)  
Antiguo 29/11/2011, 19:04
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Duda con reemplazo de caracteres en una cadena

Cita:
La otra opción es que uses 2 SimpleDateFormat
SimpleDateFormat funciona en los dos sentidos String->Date, Date->String.

format/parse
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: caracteres, reemplazo, cadenas
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 00:21.