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

[SOLUCIONADO] Reemplazo de strings (sencillo)

Estas en el tema de Reemplazo de strings (sencillo) en el foro de Java en Foros del Web. Buenas, a ver si me podeis ayudar con esto. Tengo una cadena tal que así. cadena1 = "-_-_-_-_-_-_-_-"; Lo que quiero es por ejemplo reemplazar ...
  #1 (permalink)  
Antiguo 06/11/2015, 08:16
 
Fecha de Ingreso: marzo-2013
Mensajes: 51
Antigüedad: 11 años, 1 mes
Puntos: 2
Reemplazo de strings (sencillo)

Buenas, a ver si me podeis ayudar con esto.

Tengo una cadena tal que así.

cadena1 = "-_-_-_-_-_-_-_-";

Lo que quiero es por ejemplo reemplazar en las posiciones 1,3 y 5, ese caracter por la letra a.

He probado con el método replace ("_",a); pero me lo sustituye para todos los _ y yo solo lo quiero para esas posiciones determinadas.

A ver si me podéis echar un cable.

Gracias.
  #2 (permalink)  
Antiguo 06/11/2015, 08:26
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Reemplazo de strings (sencillo)

Buenas,

Una forma muy facil seria utilizar la funcion replaceFirst en lugar de replace y hacerlo en un bucle tantas veces como letras quieras reemplazar.

Código Java:
Ver original
  1. int letrasAReemplazar = 3;
  2. while(letrasAReemplazar > 0)
  3.     //Haces replaceFirst
  4.     aReemplazar--;
  5. }

http://docs.oracle.com/javase/7/docs...lang.String%29

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 07/11/2015, 04:40
 
Fecha de Ingreso: marzo-2013
Mensajes: 51
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: Reemplazo de strings (sencillo)

Perfecto, he tenido que cambiar gran parte del código que tenía ya hecho pero me ha servido perfecto. Gracias.

Etiquetas: reemplazo, strings
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 20:20.