Haskell 过滤多个字符

use*_*735 0 haskell

我有个问题。我这里有这行代码。

map length [filter (/= ' ') someString]
Run Code Online (Sandbox Code Playgroud)

我知道它会删除 someString 中的空格。但是,是否有可能使用过滤器从字符串中删除的不仅仅是空格?假设删除空格和其他一些字符。

谢谢!

Thr*_*eFx 5

你可以这样做:

filter (not . flip elem "<your chars here>")
Run Code Online (Sandbox Code Playgroud)

例子:

ghci> filter (not . flip elem " .,") "This is an example sentence, which uses punctuation."
"Thisisanexamplesentencewhichusespunctuation"
Run Code Online (Sandbox Code Playgroud)

只是将评论放在这里:要过滤掉两种情况的字母(az 和 AZ),您可能应该使用Data.CharsisLetter函数。