He creado este algoritmo para sustituir cadenas usando una Pattern, pero de forma que cada cierto tipo de cadena tenga un sustituto propio, y tratando de que no desperdicie recursos.
Código:
String s = cadenaAcambiar
Pattern p = Pattern.compile(patron);
Matcher m = p.matcher(s);
int i=0;
while(!m.hitEnd()){
if (m.find(i)){
if (m.group().equals(A)){
i = m.start();
s = s.replaceAll(m.group(), fmodificador( m.group()) );
m = p.matcher(s);
}else if ( m.group().equals(B) ){
i = m.start();
s = s.replaceAll(m.group(), fmodificador2( m.group()) );
m = p.matcher(s);
}
}
}
Lo voy a utilizar para elementos que no conozco de un texto muy grande, de ahí que necesite utilizar un patrón. El algoritmo funciona bien, pero me gustaría saber si existe alguna forma más directa/eficaz de hacerlo, algún método de Matcher que no haya visto o algo así.
Saludos.