Visual Studio البحث عن المتغيرات واستبدالها
-
03-07-2019 - |
سؤال
أحاول استبدال اختصار الحالة المكون من حرفين بالنص ثم الاختصار.في النهاية أريد العثور على الباقي واستبداله.كيف يمكنني التقاط القيمة التي تم العثور عليها؟....لقد حاولت \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 لا يعمل.
أجد:AZ] [AZ] استبدال مع:إذا (usState == "$1
المحلول
ومن الغريب أن التعبيرات العادية لـ Visual Studio تختلف عن التعبيرات العادية لـ .Net.لديهم بناء جملة مختلف قليلاً للعلامات والاستبدالات.لتتمكن من وضع علامة على جزء من النص لمطابقته لاحقًا، يجب عليك لفه بين قوسين معقوفين {}.ثم يمكنك استخدام في سلاسل الاستبدال حيث n هو التعبير ذي العلامة n.بالنسبة للسيناريو الخاص بك، إليك السلاسل التي يجب عليك استخدامها
- يجد:
{[A-Z][A-Z]}
- يستبدل:
if( usState == "\1")
نصائح أخرى
وبلدي التعابير المنطقية المنظر مباريات $ 1. محاولة ذلك.
وأنا ربما لم يفهم مشكلتك، ولكن لماذا لا تقوم بتسجيل ماكرو مؤقتة للقيام التحول؟
وأرفق [A-Z] [A-Z] بين قوسين، الذي يجسد فيه؛ ثم، استخدم \ 1 في سلسلة الاستبدال للإشارة إلى القبض عليه.
ومنذ هذه الأسئلة يبدو أن نسخة مكررة من https://stackoverflow.com/a/3147177/154480 لكن لقد وجدت هذا واحد أولا: منذ البصرية ستوديو 2012، يمكنك استخدام (pattern)
و$1
. وكمثال على هذا السؤال معين، تجد ([A-Z]{2})
التي كتبها if( usState == "$1")