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] 대체 : if (usstate == "$ 1
해결책
이상하게도 Visual Studio 정규 표현식은 일반 .NET 정규 표현식과 다릅니다. 그들은 태그에 대해 약간 다른 구문을 가지고 있으며 대체합니다. 나중에 일치하기 위해 텍스트를 태그하려면 {} {}로 랩해야합니다. 그런 다음 n이 n 번째 태그 표현식 인 교체 문자열에서 n을 사용할 수 있습니다. 시나리오에는 여기에 사용해야 할 문자열이 있습니다.
- 찾다:
{[A-Z][A-Z]}
- 바꾸다:
if( usState == "\1")
다른 팁
내 동정인이 $ 1과 일치합니다. 시도해보십시오.
나는 당신의 문제를 이해하지 못했을 수도 있지만, 왜 변환을하기 위해 임시 매크로를 기록하지 않습니까?
괄호 안에 [az] [az]를 둘러싸고; 그런 다음 교체 문자열에서 1을 사용하여 캡처를 참조하십시오.
이 질문은의 복제 인 것 같습니다 https://stackoverflow.com/a/3147177/154480 그러나 나는 이것을 먼저 발견했다 : Visual Studio 2012 이후로, 당신은 (pattern)
그리고 $1
. 이 특정 질문의 예로, 찾으십시오 ([A-Z]{2})
~에 의해 if( usState == "$1")
제휴하지 않습니다 StackOverflow