2014-07-11 3 views
2

유효한 데이터로 대체하고 정의 된대로 형식화해야하는 정보가 들어있는 C# 문자열이 있습니다. 예를 들어, 다음은 몇 가지 예는 초기 문자열입니다 내부에 정의 된서식 정보가 포함 된 문자열을 대체하는 방법

Here is my test [Date{yyyyMMdd}] string 
Here is my test [Date{yyyy_MM_dd}] string 

나는 형식의 날짜를 문자열에 [날짜 {YYYYMMDD}] 또는 [날짜 {yyyy_mm_dd}] 부분을 찾아 대체해야 {} 섹션의 위 예제는 다음 초래 :

Here is my test 20140711 string 
Here is my test 2014_07_11 string 

은 어떻게 괄호 안의 문자열을 찾은 다음 그 안에 중괄호의 서식 정보를 사용하려면이 프로그램을 할 수 있습니까? 필요한 부분을 찾을 수있는 다음 정규식을 사용할 수는 있지만 원하는 출력을 얻고 {} 안의 영역을 사용하여 원하는 날짜 형식을 사용하는 방법을 모르겠습니다.

(\[Date\{(?<format>.*)\}\]) 

답변

3

당신은 경기를 처리 할 대리자를 취 Regex.Replace에 대한 과부하를 사용할 수 있습니다 람다에 대한

string testString = "Here is my test [Date{yyyyMMdd}] string"; 
Regex.Replace(testString, @"(\[Date\{(?<format>.*)\}\])", match => DateTime.Now.ToString(match.Groups["format"].Value)); 
+0

+1 (미안 해요, 내가 위임을 의미)의 교체를 :) – zx81

관련 문제