2009-05-01 58 views
3

我試圖用文本替換一個兩字母狀態縮寫然後縮寫。 最終我想找到並替換其餘的。我如何捕獲找到的值? ....我試過\ 1和{1}Visual Studio查找和替換變量

AL 32.2679134368897 -86.5251510620117 
AR 35.2315113544464 -92.144 
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不起作用。

我發現:[AZ] [AZ] 與替代:如果(usState ==「$ 1

回答

6

奇怪的是,Visual Studio Regu lar表達式與普通的.Net正則表達式不同。他們對標籤和替換語法略有不同。爲了標記一段文字以便以後匹配,您必須將其包裝在大括號{}中。然後,您可以在替換字符串中使用\ n,其中n是第n個標記的表達式。對於您的情況這裏的字符串,你應該使用

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

工作就像一個魅力。謝謝。 – Bryan 2009-05-01 16:16:18

2

我的正則表達式匹配匹配$ 1嘗試是

0

括起來[AZ] [AZ]然後,在您的替換字符串中使用\ 1來指代捕獲。

1

我可能沒有理解您的問題,但爲什麼不記錄臨時宏來完成轉換?

相關問題