Haskell:只要有两个相邻的撇号,我怎么能分割一个字符串?

时间:2015-09-30 23:03:18

标签: string haskell split

我正在做一些字符串工作,它留下了一些重复的单引号字符串,如:

all''your''base''belong

我希望在撇号之间分隔字符串以获取列表:

all'
'your'
'base'
'belong

或者,更好的是,它会修剪撇号的每个单词,除非它只在结尾处有一个撇号,所以最终的结果是:

all'
your
base
belong

我怎么能干净利落地去做?

1 个答案:

答案 0 :(得分:6)

根据您正在做的事情,制作真正的解析器可能更容易。

{-# LANGUAGE FlexibleContexts #-}

import Text.Parsec
import Text.Parsec.Char

singleQuotedStrings = many (char '\'' *> many letter <* char '\'')

main = print $ parse singleQuotedStrings [] "'all''your''base''belong'"