Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2010, 17:31
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Modificar string mediante Pattern y Matcher

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.

Última edición por Xerelo; 24/06/2010 a las 12:46 Razón: Corregir error en el código