Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/06/2010, 01:47
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Modificar string mediante Pattern y Matcher

Imagínate un número de referencia de un producto, con dos letras indicando el tipo de producto, cuatro números como identificador y otra letra opcional para indicar otras características. Sería algo así: X1234R

Tengo una lista enorme de ellos en un texto, y quiero sustituirlos por su descripción. El patrón me sirve para detectar las referencias, pero no puedo hacer un replaceAll directo ya que me aplicaría la misma descripción a todo lo que cumpla el patrón (creo que funciona así ¿no?) ya que es única para cada producto.

Evidentemente no sé que productos van a aparecer en la lista, y necesito distinguirlos en función del tipo de producto y de la última letra.

Por eso necesito el if y el else (eran sólo para explicar que en función de la cadena se ejecuta una acción única), para que si el producto es Y1245 sustituirlo por una descripción, a J4659 por otra, y lo mismo con Q7777T.

Entre mis dudas está el hecho de si es más eficiente aplicar el replace de forma que sustituya TODAS las referencias exactamente iguales en el texto (mi ejemplo), o modificar únicamente UNA referencia cada vez que el Matcher la detecta.