我試圖解釋字符串命令來運行相關的腳本。這是我到目前爲止:解析基本腳本語言的字符串命令
// A typical command that can come from a TextBox control
string command = "Create";
// Remove all white space
command = System.Text.RegularExpressions.Regex.Replace(command, @"\s", "");
// Make case insesitive by converting to lowercase
command = command.ToLower();
switch (command)
{
case "create": /* Run create script*/ break;
case "delete": /* Run delete script*/ break;
// etc.
}
這工作正常,直到我引入與特定命令相關的參數。
我認爲這可以通過圓括號來表示這樣更復雜的命令如下所示:
string command = "Create(paramA, paramB, etc.)"
假設我用這種方法正確的道路上,這將是用於檢測的有效方法並解釋參數?
規則的命令是:
「(」「)」打開和關閉該組參數 「」分隔每個參數
換句話說如何檢測的開始和結束參數並正確地分離每一個?
另一個問題當然是將命令本身與參數分開。
我想過使用:
command.StartsWith("create"); // etc.
但這不是一個開關的情況下有條件結構中工作。
你可以使用很多字符串魔法,這是可能的,但需要努力。或者你可以看看現有的解析框架,如Sprache:https://github.com/sprache/sprache – dognose
解析。那是我正在尋找的關鍵詞。我將更新問題的標題。謝謝。 – user1423893