a = "perryABelCornitorrincoD";
b = "ABCD";
a = "perry[target]AB[endtarget]el[target]C[endtarget]ornitorrinco[target]D[endtarget]
Mete entre [target][endtarget] los que esten contenidos en el segundo String
Mi problema es cuando se repiten, el replace me los suscribe dos o más veces y entonces me sale un disparate, si alguien sabe como se soluciona o si hay otra forma más sencilla...
Gracias
Código
//declaración de strings boolean bol = true; int n; //Tenemos que conseguir las subristas de b que aparecen en a for(int i = 0; i < a.length(); i++){ n = b.indexOf(a.charAt(i)); //posición del caracter de a contenido en b if(n != -1){ bol = true; } if(n == -1){ bol = false; } if(bol){ x1 = x1 + a.charAt(i); }else{ x1 = x1 + " "; } } int w1,n3; x1 = " " + x1 + " "; //para que siempre encuentra un espacio a la izqda y no se salga de rango for(int k = 0; k < x1.length(); k++){ w1 = x1.charAt(k); if(w1 != ' ' && x1.charAt(k-1) == ' '){ // no es un espacio pero el anterior si es un espacio n3 = x1.indexOf(" ",k); //busca la posición del próximo espacio aux = x1.substring(k,n3); a = a.replaceFirst(aux,a1+aux+a2); } } return a; } }