Visual Studio найти и заменить переменные

Я пытаюсь заменить двухбуквенное сокращение штата на текст, а затем на сокращение. Со временем хочу найти и заменить остальные. Как мне зафиксировать найденную ценность? .... Я пробовал \ 1 и {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";

Обновить $ 1 не получается.

Я нахожу: [A-Z] [A-Z] заменяю на: if (usState == "$ 1


person Bryan    schedule 01.05.2009    source источник


Ответы (5)


Как ни странно, регулярные выражения Visual Studio отличаются от обычных регулярных выражений .Net. У них немного другой синтаксис тегов и замен. Чтобы пометить фрагмент текста для последующего сопоставления, вы должны заключить его в фигурные скобки {}. Затем вы можете использовать \ n в строках замены, где n - n-е помеченное выражение. Для вашего сценария вот строки, которые вы должны использовать

  • Найдите: {[A-Z][A-Z]}
  • Заменить: if( usState == "\1")
person JaredPar    schedule 01.05.2009
comment
Работал как шарм. Спасибо. - person Bryan; 01.05.2009

Мой сопоставитель регулярных выражений соответствует $ 1. Попробуй это.

person Stefan Kendall    schedule 01.05.2009

Возможно, я не понял вашей проблемы, но почему бы вам не записать временный макрос для преобразования?

person Ali Shafai    schedule 01.05.2009

Поскольку этот вопрос кажется дубликатом https://stackoverflow.com/a/3147177/154480, но я нашел это один первый: начиная с Visual Studio 2012 вы можете использовать (pattern) и $1. В качестве примера для этого конкретного вопроса найдите ([A-Z]{2}) от if( usState == "$1")

person Christian Rondeau    schedule 19.03.2018

Заключите [A-Z] [A-Z] в круглые скобки, чтобы зафиксировать его; затем используйте \ 1 в строке замены для ссылки на захват.

person Community    schedule 01.05.2009