2011-02-04 7 views
1

저는이 텍스트를 가지고 있으며 그 형식은 다음과 같습니다.텍스트에서 필수 키워드를 추출하십시오.

Salary is 3.6L PA 
Salary is 3.5 LPA 
Salary is 30,000KPM 
Salary is 30,000 KPM 
Experience: 3-5years 
Experience: 3+ years 

이제 연봉 3.5 또는 30,000, 경험 또는 최소 경험 3 년을 찾아야합니다. 공간이 있으면 경험이 잘 작동하지만 급여가 작동하지 않습니다. 그러나 경험 "3"과 "+"가 그 안에 자리가 없다면 그 결과를 얻지 못할 것입니다.

어느 누구도 연봉과 경험 모두를 얻는 방법에 대한 논리를 제안 할 수 있습니까?

유일한 조건은 급여이며 금액은 항상 같은 줄로 이며 경험치와 가치도 같은 줄에 표시됩니다.

미리 감사드립니다.

답변

3

정규 표현식은 친구입니다.

는 다음을 시도해보십시오

foreach (Match match in Regex.Matches(content, "^(.*?)\\s*(?::| is)\\s*([0-9,.+-]+)(.*)$", RegexOptions.Multiline)) 
{ 
    Console.WriteLine("Item1: {0} Item2: {1} Item3: {2}", match.Groups[1].Value, match.Groups[2].Value, match.Groups[3].Value); 
} 
+0

정규 표현식은 굉장하지만 몇 가지 패턴 문자열은 여전히 ​​더블 볼 걸릴 @ _ @ – bitxwise

+0

감사를 많이 필요로합니다. 그것은 완벽하게 작동합니다. –

+0

반갑습니다. –

관련 문제