首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除公共Lisp中字符串中的转义双引号?

如何删除公共Lisp中字符串中的转义双引号?
EN

Stack Overflow用户
提问于 2017-03-29 04:24:50
回答 1查看 1.2K关注 0票数 1

运行(cl-json:encode-json-to-string 'ctx)给出"\"ctx\""

我需要的是"ctx"而不是"\"ctx\""

我可以使用cl并删除字符串中匹配的双引号。然而,这似乎是过火了。还有别的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-29 04:52:53

gives "\"ctx\""是什么意思?

在打印结果时,常规Lisp使用\作为转义字符。

字符串本身有五个字符:

代码语言:javascript
复制
CL-USER 12 > (describe "\"ctx\"")

"\"ctx\"" is a SIMPLE-BASE-STRING
0      #\"
1      #\c
2      #\t
3      #\x
4      #\"

您可以打印字符串内容:

代码语言:javascript
复制
CL-USER 11 > (write-string "\"ctx\"")
"ctx"
"\"ctx\""

还可以删除第一个和最后一个字符:

代码语言:javascript
复制
CL-USER 10 > (subseq "\"ctx\"" 1 (- 6 2))
"ctx"

您还可以修剪所有周围的"字符:

代码语言:javascript
复制
CL-USER 13 > (string-trim "\"" "\"ctx\"")
"ctx"

CL-USER 14 > (string-trim '(#\") "\"ctx\"")
"ctx"

字符串修剪以一个字符序列作为第一个参数:要删除的字符。第二个参数是字符串。

请注意,它将从前面和后面删除所有此类字符:

代码语言:javascript
复制
CL-USER 15 > (string-trim "\"" "\"\"\"\"ctx\"\"\"\"\"\"\"")
"ctx"
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43084309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档