문제

나는 두 글자 상태 약어를 텍스트로 대체 한 다음 약어를 대체하려고합니다. 결국 나는 나머지를 찾고 대체하고 싶습니다. 발견 된 값을 어떻게 캡처합니까? .... 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")

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top