Frage

Ich versuche, einen aus zwei Buchstaben bestehenden Staatsabkürzung mit Text zu ersetzen dann der Abkürzung. Schließlich möchte ich den Rest finden und zu ersetzen. Wie erfassen ich den Wert gefunden? .... Ich habe versucht, \ 1 und {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";

Update $ 1 nicht funktioniert.

Ich finde: [A-Z] [A-Z] Ersetzen mit: if (US State == „$ 1

War es hilfreich?

Lösung

Seltsamer, Visual Studio Reguläre Ausdrücke sind anders als normale .NET reguläre Ausdrücke. Sie haben eine etwas andere Syntax für Tags und ersetzt. Um einen Text zu markieren, später passend Sie es in Klammern wickeln müssen {}. Dann können Sie \ n in den Ersatzzeichenfolgen verwenden, wobei n die n-te Ausdruck markiert ist. Für Ihr Szenario sind hier die Saiten sollten Sie verwenden

  • Suchen: {[A-Z][A-Z]}
  • Ersetzen: if( usState == "\1")

Andere Tipps

Mein Regex Matcher entspricht $ 1. Versuchen Sie das mal.

Ich könnte nicht Ihr Problem verstanden haben, aber warum Sie nicht über eine temporäre Makro aufzeichnen, um die Transformation zu tun?

Schließen Sie die [A-Z] [A-Z] in Klammern, die es erfasst; verwenden \ 1 in Ihrem Ersatz-String an die Capture dann, Bezug zu nehmen.

Da diese Fragen scheint ein Duplikat https://stackoverflow.com/a/3147177/154480 aber ich fand diese eine erste: seit Visual Studio 2012 Sie (pattern) und $1 verwenden können. Als Beispiel für diese spezifische Frage, die von ([A-Z]{2}) if( usState == "$1") findet

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top