我刚刚开始使用 Haskell 进行编程,并且想做一个字符串转换。我有一个任意字符串,例如“abcd \n dad”我想删除左边和右边的空白字符。我想消除多个空格以及转义序列“\n”->“”
所以上面的字符串看起来像这个“abcd dad”
我已经编写了一个修剪字符串并删除空白字符的函数(如果 isSpace 为真,我将删除该字符):
trim :: [Char] -> [Char]
trim x = dropWhileEnd isSpace (dropWhile isSpace x)
现在我的想法是对输入字符串进行模式匹配。但是如何将修剪功能直接应用于输入?所以起初我想修剪两端的字符串,然后应用模式匹配。所以我唯一要做的就是比较两个字符并删除一个如果两者都是空白字符
--How do I apply trim directly to the input
s :: [Char] -> [Char]
s [x] = [x]
s(x:xx) = ...
注意:效率并不重要。我想学习模式匹配的概念并了解 Haskell 的工作原理。
干杯