a是一個字串,我想在字串中找到所有具有大寫字符的單詞。
如何將字串轉換為字符?
listWordsWithUpper :: String -> [String]
listWordsWithUpper a = filter (any . (isUpper a))
例子:
listWordsWithUpper "Haskell is tHe BEST" == ["Haskell", "tHe", "BEST"]
uj5u.com熱心網友回復:
在 Haskell 中,字串是一個字串列。我的意思是字面意思。該型別String是的別名[Char]。所以一個字串已經是一個字串列。
您缺少的部分是標記化部分。你有一個大字串,你想在每個單詞邊界處拆分它。一般解決方案有更復雜的標記化函式,但對于這種特殊情況,內置函式words就可以了。
words :: String -> [String]
所以我們想要獲取一個字串,對其進行標記,然后應用過濾器以僅保留包含大寫字符的內容。下半場,你filter很接近。我們想要過濾并保留所有any isUpper myString為真的字串。所以這樣的事情會起作用。
listWordsWithUpper :: String -> [String]
listWordsWithUpper = filter (any isUpper) . words
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/493311.html
