Извлечение необходимых ключевых слов из текста - PullRequest
1 голос
/ 04 февраля 2011

У меня есть такие тексты, и форматы приведены ниже.

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» и «+» не место в нем, он не может получить результат.

Может ли кто-нибудь предложить мне логику того, как получить их как за зарплату, так и за опыт.

Единственное условие - зарплата, и сумма всегда будет в одной строке И опыт и ценность также будут в той же строке.

Заранее спасибо.

1 Ответ

3 голосов
/ 04 февраля 2011

Регулярные выражения - ваш друг.

Попробуйте следующее:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...