【发布时间】:2018-08-10 06:35:08
【问题描述】:
问题是:编写一个删除前导白色的函数
字符串中的空格。示例:cutWhitespace [" x","y"," z"] 预期答案:["x","y","z"]
这是我所拥有的:
cutWhitespace (x:xs) = filter (\xs -> (xs /=' ')) x:xs
当输入为[" x"," y", " z"] 时,这将返回["x", " y"," z"]。为什么它忽略了第二个和第三个字符串中的空格,我该如何解决?
我们可以使用高阶函数,这就是我实现过滤器的原因。
【问题讨论】:
-
您的函数是仅从字符串中删除前导空格,还是从字符串数组中删除前导空格?如果是后者,你可以做一个地图 (dropWhile (\c -> c == ' '))
-
您是否只将空格
' '视为空格?选项卡、新行等呢?通常正则表达式将空格视为空格、换行符、制表符、回车、垂直制表符和换页。 -
您询问有关从单个字符串中删除前导空格的问题,但您的示例让您从字符串列表中删除前导空格。你想做什么?
标签: string list haskell filter