运行(cl-json:encode-json-to-string 'ctx)给出"\"ctx\""
我需要的是"ctx"而不是"\"ctx\""。
我可以使用cl并删除字符串中匹配的双引号。然而,这似乎是过火了。还有别的办法吗?
发布于 2017-03-29 04:52:53
gives "\"ctx\""是什么意思?
在打印结果时,常规Lisp使用\作为转义字符。
字符串本身有五个字符:
CL-USER 12 > (describe "\"ctx\"")
"\"ctx\"" is a SIMPLE-BASE-STRING
0 #\"
1 #\c
2 #\t
3 #\x
4 #\"您可以打印字符串内容:
CL-USER 11 > (write-string "\"ctx\"")
"ctx"
"\"ctx\""还可以删除第一个和最后一个字符:
CL-USER 10 > (subseq "\"ctx\"" 1 (- 6 2))
"ctx"您还可以修剪所有周围的"字符:
CL-USER 13 > (string-trim "\"" "\"ctx\"")
"ctx"
CL-USER 14 > (string-trim '(#\") "\"ctx\"")
"ctx"字符串修剪以一个字符序列作为第一个参数:要删除的字符。第二个参数是字符串。
请注意,它将从前面和后面删除所有此类字符:
CL-USER 15 > (string-trim "\"" "\"\"\"\"ctx\"\"\"\"\"\"\"")
"ctx"https://stackoverflow.com/questions/43084309
复制相似问题