2016-10-16 183 views
0

鍵值我有一個文件即時試圖解析寫入格式爲:解析出從字符串

command -l KEY "VALUE" 

我的目標是拿到鑰匙和價值,這是雙引號。

每一行都以相同的command -l開頭。現在,即時通訊這是一個相當低效的方式。我得到一個子字符串,刪除前11個字符,修剪空格後的所有內容,然後得到帶引號字符的另一個子字符串。

當然,必須有更好的方法來做到這一點,我認爲REGEX就是這種解決方案。我一直在這裏關注這個頁面,但我完全失去了: https://msdn.microsoft.com/en-us/library/ms174214.aspx

希望有什麼建議。

+0

備註:閱讀「我認爲REGEX就是解決方案」 - https://blog.codinghorror.com/regular-expressions-now-you-have-two-problems/ ... –

回答

1

對於這樣一個簡單的字符串解析練習,正則表達式不太可能比手動獲取子字符串更好,然後調用string.Split(" ")。例如:

public KeyValuePair<string, string> Parse(string input) { 
    var split = input.Substring(11).Split(' '); 
    return new KeyValuePair<string, string>(split[0], split[1].Replace("\"","")); 
}