2012-07-23 79 views
-2

我正在嘗試編寫正則表達式來解析表示函數調用的字符串。我想分析:將函數調用字符串解析爲名稱和參數

createNewEmail(mailToJohn, recipientGeorge, Subject, content);

到字符串數組: createNewMailmailToJohnrecipientGeorgeSubjectcontent

其他可能的輸入可以是:

createNewEmail(mailToJohn, recipientGeorge, Subject, content);

makeTemplateUser(templateName, userName);

deleteEmail(emailToDelete);

updateUserSetting(userId, changedSettings, oldSettingsId);

你怎麼建議我分析此?

+3

我很抱歉,但我發現這個問題真的很難理解。我想你可能需要拿出所有關於*爲什麼*你正在做這件事的細節,並關注*你想要做的事情。這裏有很多細節,似乎依賴於您未包含的代碼的其他細節。我也不認爲'正則表達式'標籤是合適的,除非你真的有一個你需要修復的正則表達式。 – 2012-07-23 09:23:15

+0

這仍然很令人困惑 - 嘗試將代碼(是的,甚至僞代碼)放在實際的代碼標籤中以提高可讀性。 =) – 2012-07-23 14:11:53

+0

@Carl Palsson我最近試圖回答你最近刪除的問題;但是當它被刪除時,我無法這樣做。如果您想知道我關於動態調用此類方法的答案,請創建一個新問題並讓我知道。雖然,現在我會提到這條道路充滿了危險。我花了一個多小時的時間寫下它,所以我很感激能夠將它張貼在某個地方... – Bob2Chiv 2012-07-24 21:14:07

回答

2

如果輸入是真的就這麼簡單,你可以只使用

line.Split(new[] { ' ', ',', '(', ')', ';' }, StringSplitOptions.RemoveEmptyEntries).Where(s => s.Length > 1).ToArray(); 

只要這將作爲關你標識符(函數名或參數)是單個字符長;如果您需要處理該情況,請修改Where篩選器。這將返回一個數組,您可以將其插入到較大的數組中(或添加到列表等)。

+1

謝謝,這正是我一直在尋找的! – 8bitcat 2012-07-23 18:29:54

相關問題