【发布时间】:2019-07-22 07:49:19
【问题描述】:
我是 Haskell 的新手,我有一个问题,如何将给定的字符串拆分为单词列表。
示例"Hello world from haskell" -> ["Hello","world","from","haskell"]
感谢您的帮助
【问题讨论】:
-
words "Hello world from Haskell"
标签: haskell functional-programming
我是 Haskell 的新手,我有一个问题,如何将给定的字符串拆分为单词列表。
示例"Hello world from haskell" -> ["Hello","world","from","haskell"]
感谢您的帮助
【问题讨论】:
words "Hello world from Haskell"
标签: haskell functional-programming
您可以使用Hoogle 并通过签名进行搜索。由于您要将String 转换为Strings 的列表,因此签名为String -> [String]。第一个匹配项是lines :: String -> [String] 和words :: String -> [String]。根据函数的名称,words 是正确的匹配项。
正如words 上的文档所说:
words :: String -> [String]
words将一个字符串分解成一个单词列表,这些单词被分隔 按空格。>>> words "Lorem ipsum\ndolor" ["Lorem","ipsum","dolor"]
因此这似乎是您正在寻找的功能。如果我们在 ghci 中运行它,我们会得到预期的输出:
Prelude> words "Hello world from haskell"
["Hello","world","from","haskell"]
【讨论】:
words :: String -> [String]
words 将字符串分解为单词列表,由空格分隔。
>>> words "Lorem ipsum\ndolor"
["Lorem","ipsum","dolor"]
参考:https://hackage.haskell.org/package/base-4.12.0.0/docs/Data-String.html#v:words
【讨论】: