我遇到了我的函數有問題,我想用函數對字符串進行模式匹配,但是我有將字符串拆分爲子字符串的問題。我想要一個像"ccaabbccaacc"
這樣的字符串和像"a*b*c*"
這樣的常規表達式來獲得["cc", "aabbcc", "aacc", ""]
,這是一個帶有分隔子字符串的列表。我做了這個函數返回的字符串將字符串拆分成haskell中的子字符串
parts :: [a] -> [[[a]]]
parts [ ] = [[ ]]
parts [c] = [[[c]]]
parts (c : cs) = concat [[(c : p) : ps ,[c] : p : ps] | p : ps <- parts cs]
的所有部分,但我申請當我配襯功能公開所有結果返回更多的,我想,我不知道如何來篩選結果。有人能幫助我嗎?
儘管將這樣的問題分解成像這樣簡單的步驟通常是一個好主意,但我認爲這是一個例子,它可以更有效地編寫一個完全完成工作的遞歸函數。你嘗試過嗎? – leftaroundabout 2013-04-28 13:11:07
我試圖做一些遞歸,但它不起作用 – user192837465 2013-04-28 13:29:57