병합 메일에 대한 문자열 구문 분석 :나는 C# 프로젝트 작업과의 내가 같은 것을 포함하는 문자열이 있다고 가정하자하고
string content = "[IF FullName = 'Bob Smith']Hello my friend";
content += "[ELSEIF TotalPurchases > 1000]Dear valued customer";
content += "[ELSE]Dear [FirstName]";
content += "[ENDIF]";
과의 내가 키가 "하면 FullName있는 키/값 사전을 가지고 가정하자를 "및"TotalPurchases "및 값은"Jane Doe "및"500 "입니다. 내용을 분석하고 "IF ... ELSE ... ENDIF"를 평가하는 가장 좋은 방법은 무엇입니까?
내가 활용할 수있는 오픈 소스 프로젝트가 있습니까? 아니면 콘텐츠를 파싱하기 위해 자체 코드를 작성해야합니까?
내 질문의 예는 조금 단순화되어 있지만 그것이 acutal 문자열 아주 가까이 있습니다. 내 목표는 "IF ... ELSE ... ENDIF"를 평가하여 최종 콘텐츠를 제작하는 것입니다. 예를 들어 내 데이터에 "Bob Smith"가 포함 된 경우 결과 데이터가 "Hello my friend"가되고 데이터에 "Jane Doe"가 포함되어 있고 Jane이 1,000 달러 이상을 지출 한 경우 결과 콘텐츠는 "Dear value customer"가됩니다. 헬퍼 클래스를 제공 해줘서 고맙지 만 내 필요에 너무 단순하다는 것이 두렵다. – desautelsj
@desautelsj : 수업을 사용하지 않는다면 괜찮습니다. 하지만 저는 언어 해석기를 작성하는 데이 언어를 사용했다고 언급했습니다. 클래스는 그렇게 많이하지 않지만 저수준 파싱을 더 쉽게 만드는 기본 클래스로 사용합니다. –
소리가 interresting ... 당신은 당신의 언어 통역사를 공유 할 수 있습니까? – desautelsj