Digamos que tengo una cadena muy larga, que esencialmente son solo nombres de campo, separados por comas.
Mi problema, cuando trato de dividirlo en campos separados, es que algunos nombres tienen una coma dentro, como "{0,0}" o "{45,-45}" o "{90,90}".
Para separar esta cadena larga en campos, necesito reemplazar esa coma con algo.
Esta es una pequeña parte de esa cadena: "Normal_0_{0,0}, Normal_90_{45,-45}", por lo que necesito reemplazar solo la coma que está dentro de las llaves.
Así que escribí esto:
matches = Regex (longLine, ".*(\{\d{1,2})(,)(-?\d{1,2}\}).*", "\1|\3");Se supone que reemplaza todas las comas dentro de la cadena. Pero en realidad solo reemplaza la primera coma en la cadena.
¿Por qué? ¿Y cómo puedo reemplazar TODOS los fósforos?
Pregunta secundaria: en este código
Word(1, "Normal_0_{0,0}, Normal_90_{45,-45}" , ", ")dividiría la cadena por YA SEA "," O " ". ¿Cómo puedo dividir por COMBINACIÓN de caracteres, específicamente dividir por ", " - coma seguida de espacio?
Como de costumbre, unos minutos después de publicar me topé con la respuesta en la documentación.
Todo lo que necesitaba era GLOBALREPLACE:
matches = Regex (longLine, "(\{\d{1,2})(,)(-?\d{1,2}\})", "\1|\3", GLOBALREPLACE);Para su pregunta secundaria: no puede dividir fácilmente con muchos caracteres usando Word(s). Es posible que pueda usar Regex Match O primero puede reemplazar todo ", " (Sustituto, Regex) con algún carácter especial y luego dividirlo usando Word(s).