代码之家  ›  专栏  ›  技术社区  ›  Bryan

Visual Studio查找和替换变量

  •  4
  • Bryan  · 技术社区  · 16 年前

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

    5 回复  |  直到 16 年前
        1
  •  7
  •   JaredPar    16 年前

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

    • 查找: {[A-Z][A-Z]}
    • if( usState == "\1")
        2
  •  4
  •   Stefan Kendall    16 年前

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

        3
  •  1
  •   Ali Shafai    16 年前

    我可能不理解您的问题,但为什么不录制一个临时宏来进行转换呢?

        4
  •  1
  •   Christian Rondeau    7 年前

    https://stackoverflow.com/a/3147177/154480 但我首先发现了这一点:自VisualStudio2012以来,您可以使用 (pattern) $1 . 作为此特定问题的示例,请查找 ([A-Z]{2}) 通过 if( usState == "$1")

        5
  •  0
  •   Jeff Mattfield Jeff Mattfield    16 年前