2014-11-07 3 views
0

내 주소에 분수가 포함되어 있지만 전부는 아닌지 확인해야합니다. Hwy 1/158과 같은 주소는 일치하지 않아야합니다. 지금은 1/4, 1/2, 3/4과 일치합니다. 나중에 데이터에 따라 목록에 추가 할 수도 있지만, 지금은 대부분 내 문제를 처리 할 것입니다.C# 클래스에서 나중에 사용하기위한 주소 분수 추출

현재 난 그냥 나중에 분수에 할당 할 수있는 부분 일치를 저장, 그 분수를 제거, 나는 여러 분수는 어떻게 일치시킬 수 있습니다 "1/2"

if (Address.Contains("1/2")) 
{ 
    Address = Address.Replace("1/2", ""); 
    Fraction = "1/2"; 
} 

과 같이을 테스트하고있어?

당신은 일치하는 요소를 저장하기 위해 여러 패턴과 일치하고 평가자를 사용하는 Regex.Replace 방법을 사용할 수 있습니다
+0

당신이 대체 그들 각각의 검색 및 교체 할 분수의 목록을 만드는/저장 당신이 찾으면. –

답변

1

:

var fractions = new[] { "1/2", "1/4", "3/4" }; 
var address = "Street 1/4"; 
List<string> matched = new List<string>(); 
string replaced = Regex.Replace(address, string.Join("|", fractions), match => 
{ 
    matched.Add(match.Value);; 
    return string.Empty; 
});