问问题
53 次
1 回答
1
据我所知,没有用于处理报价的 API 函数。你可以自己做这样的事情:
oper
qmark : Str = "\"" ;
quote : Str -> Str = \s -> qmark + s + qmark ;
并这样称呼它:
> cc -one ss ("This is" ++ quote "just" ++ "a sentence")
This is "just" a sentence
只要您只处理不是运行时令牌的字符串,它就可以正常工作。
不得不这样写当然有点笨拙,但你总是可以用你喜欢的语法写一个 sed oneliner。这仅适用于一个“引用”部分,可以根据需要进行调整。
$ sed -E 's/(.*) \\"(.*)\\" (.*)/("\1" ++ quote "\2" ++ "\3")/'
this is \"just\" a sentence
("this is" ++ quote "just" ++ "a sentence")
this is \"just\" a sentence with \"two\" quoted words
("this is \"just\" a sentence with" ++ quote "two" ++ "quoted words")
于 2021-01-13T07:06:00.177 回答