2011-10-16 3 views
3
내가 $3를 추출하는 방법을 알고 싶어하지만,이

는 정규식 C#으로 계산에 일치 조작

string pattern = "Version\\(\"(\\d+).(\\d+).(\\d+).(\\d+)\"\\)"; 
Regex rgx = new Regex(pattern); 
string output = rgx.Replace(someInput, "Version $1.$2.$3.$4"); 

같은 정규식을 사용을 증가시키고 다시 출력에 기록하기 쉬운 C#에서

. 이것은 현재 프로젝트에서 빌드 번호의 자동 증분에 필요합니다. 나는 평가자의 위임과 관련하여 뭔가를 보았지만 자세히 읽지는 않았다.

답변

3

이 작업을 수행하기 위해 MatchEvaluator delegate을 사용할 수 있습니다 : 나는 기록 된 것과

string output = rgx.Replace(input, 
    m => String.Format("Version {0}.{1}.{2}.{3}", 
      m.Groups[1].Value, 
      m.Groups[2].Value, 
      int.Parse(m.Groups[3].Value) + 1, 
      m.Groups[4].Value)); 
+0

+1 평등, 아래 string.format' :-) – xanatos

+0

@xanatos 덕분'의 사용에! 나는 연결을 시작했지만'String.Format'은 훨씬 더 깨끗합니다 :) –