2010-08-03 5 views
1

string의 specialy 표시된 장소 소유자를 값으로 대체해야합니다. 문자열과 비슷합니다. 형식은 조금 더 진보 된 방식으로 이루어집니다.형식화 된 문자열 구문 분석 및 업데이트

예 : 입력 문자열 : "{Binding Path = @ city}에 오신 것을 환영합니다!" @city의 값은 "Boston" 출력 문자열은 "Welcome to Boston!"이어야합니다.

입력 문자열을 정규식으로 구문 분석하고 값을 가져올 수 있습니다. 하지만 문자열을 업데이트하려면 string.Replace 만 사용하고 있습니다. 나는 그 같은 scenarious에 대한 업데이 트를 처리하는 더 좋은 방법이 있다면 신비한거야?

답변

1

Regex.Replace method을 사용할 수 있지만, 하나의 일치 항목 (예 : 한 줄에 여러 개의 {Binding Path- @ city})을 여러 자리로 바꿀 필요가있을 때만 필요합니다.

+0

다른 값으로 대체 할 패턴이 여러 개인 경우 Regex.Replace가 작동하지 않습니다. 예를 들어 입력이 "{Binding Path = @ name}을 {Binding Path = @ city}에 오신 것을 환영합니다!" 이것은 동일한 값을 가진 모든 패턴을 대체 할 것이므로 작동하지 않을 것입니다. – Andrii

+0

맞습니다. 교체 할 문자열이 여러 번 나오는 시간에 대해 이야기했습니다. 이 경우 일치 패턴이 구체적이어야합니다. –