4


0

私は2文字の州の略語をテキスト、次にその略語に置き換えようとしています。 最終的に私は残りを見つけて交換したいです。 見つかった値をどうやって取得するのですか? …… \ 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 回答


6


奇妙なことに、Visual Studioの正規表現は通常の.NET正規表現とは異なります。 タグと置換の構文は少し異なります。 後で一致させるためにテキストをタグ付けするには、それを中括弧で囲む必要があります。 その後、置換文字列に\ nを使用できます。ここで、nはn番目のタグ付き式です。 あなたのシナリオのためにここにあなたが使うべき文字列があります

  • 検索: {[A-Z] [A-Z]}

  • 置き換え: if(usState ==" \ 1 ")


2


私の正規表現マッチャーは$ 1にマッチします。 試してみてください。


1


私はあなたの問題を理解していないかもしれませんが、なぜあなたは変換をするために一時的なマクロを記録しないのですか?


0


[A-Z] [A-Z]をかっこで囲みます。その後、キャプチャを参照するために置換文字列に\ 1を使用します。


0


この質問はhttps://stackoverflow.com/a/3147177/154480の複製であると思われるので、私はこれを最初に見つけました。VisualStudio 2012以降、 `(pattern)`と `$ 1`を使うことができます。 この具体的な質問の例として、if(usState == "$ 1")による `([A-Z] {2})`を見つけてください