从文本中提取所需的关键字

时间:2011-02-04 06:48:16

标签: c# string

我有这样的文字,格式如下。

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 个答案:

答案 0 :(得分: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);
}