我正在做一些字符串工作,它留下了一些重复的单引号字符串,如:
all''your''base''belong
我希望在撇号之间分隔字符串以获取列表:
all'
'your'
'base'
'belong
或者,更好的是,它会修剪撇号的每个单词,除非它只在结尾处有一个撇号,所以最终的结果是:
all'
your
base
belong
我怎么能干净利落地去做?
答案 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'"