2011-02-04 28 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 2011-02-04 07:09:47

相關問題