我有这样的文字,格式如下。
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”和“+”没有位置,就无法得到结果。
任何人都可以建议我如何获得薪水和经验的逻辑。
唯一的条件是工资,金额将始终在同一行 而经验和价值也将在同一条线上。
提前致谢。
答案 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);
}