Visual Studio Buscar y reemplazar variables
-
03-07-2019 - |
Pregunta
Estoy tratando de reemplazar una abreviatura de estado de dos letras con texto y luego la abreviatura. Finalmente quiero encontrar y reemplazar el resto. ¿Cómo capturo el valor encontrado? .... Probé \ 1 y {1}
AL 32.2679134368897 -86.5251510620117
AR 35.2315113544464 -92.2926173210144
AZ 33.3440766538127 -111.955985217148
CO 39.7098631425337 -104.899092934348
if( usState == "AZ") dpos= "33.4736704187888" + " " + "-112.043138087587";
if( usState == "CA") dpos= "36.0783581515733" + " " + " -119.868895584259";
if( usState == "CO") dpos= "39.8950788035537" + " " + " -104.831521872318";
if( usState == "CT") dpos= "41.6001570945562" + " " + " -72.6606015937273";
Actualizar $ 1 no funciona.
Estoy encontrando: [A-Z] [A-Z] reemplazando con: if (usState == " $ 1
Solución
Curiosamente, las expresiones regulares de Visual Studio son diferentes de las expresiones regulares .Net normales. Tienen una sintaxis ligeramente diferente para etiquetas y reemplazos. Para etiquetar un fragmento de texto para una coincidencia posterior, debe envolverlo entre llaves {}. Luego puede usar \ n en las cadenas de reemplazo donde n es la enésima expresión etiquetada. Para su escenario, aquí están las cadenas que debe usar
- Buscar:
{[A-Zfont>[A-Zfont>}
- Reemplazar:
if (usState == " \ 1 ")
Otros consejos
Mi combinación de expresiones regulares coincide con $ 1. Prueba eso.
Puede que no haya entendido su problema, pero ¿por qué no graba una macro temporal para hacer la transformación?
Encierre el [A-Z] [A-Z] entre paréntesis, que lo captura; luego, use \ 1 en su cadena de reemplazo para referirse a la captura.
Dado que esta pregunta parece ser un duplicado de https://stackoverflow.com/a/3147177/154480 pero Encontré este primero: desde Visual Studio 2012, puede usar (patrón)
y $ 1
. Como ejemplo para esta pregunta específica, busque ([A-Z] {2})
por if (usState == " $ 1 ")