Visual Studio查找和替换变量

时间:2009-05-01 01:09:07

标签: visual-studio variables replace find

我正在尝试用文本替换两个字母的州缩写,然后缩写。 最终我想找到并替换其余的。如何捕获找到的值? ....我试过\ 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

5 个答案:

答案 0 :(得分:6)

奇怪的是,Visual Studio正则表达式与正常的.Net正则表达式不同。它们的标签和替换语法略有不同。为了标记一段文本以供以后匹配,您必须将其包装在大括号{}中。然后你可以在替换字符串中使用\ n,其中n是第n个标记表达式。对于您的场景,这里是您应该使用的字符串

  • 查找:{[A-Z][A-Z]}
  • 替换:if( usState == "\1")

答案 1 :(得分:2)

我的正则表达式匹配1美元。试试吧。

答案 2 :(得分:1)

我可能没有理解你的问题,但为什么不记录临时宏来进行转换?

答案 3 :(得分:0)

将[A-Z] [A-Z]括在括号内,并将其捕获;然后,在替换字符串中使用\ 1来引用捕获。

答案 4 :(得分:0)

由于此问题似乎与https://stackoverflow.com/a/3147177/154480重复,但我首先发现了这一问题:从Visual Studio 2012开始,您可以使用(pattern)$1。作为此特定问题的示例,请按([A-Z]{2})

查找if( usState == "$1")