3

如何在 Haskell 中以 shell 样式的语法拆分字符串?Python 中的等价物是shlex.split.

>>> shlex.split('''/nosuchconf "/this doesn't exist either" "yep"''')
['/nosuchconf', "/this doesn't exist either", 'yep']
4

1 回答 1

1

我不确定你到底是什么意思:你想从字符串中获取所有引用的子字符串吗?请注意,与 Python 等不同,Haskell 只有一组引号,表示某事物是一个字符串,即"...".

考虑的可能性:

  • 文字线条的功能

  • 拆分包_

  • 使用 polyparse、uu-parsinglib、parsec 等编写自定义解析器。

如果您指定了为什么需要这样的功能,这可能会很有用:您是否正在尝试解析现有的 shell 脚本?然后language-sh可能有用。但是你不应该在 Haskell 内部使用这样的字符串,而是使用[String]或其他东西。

于 2011-11-02T04:09:51.457 回答