首页 > 解决方案 > 转义字符串中的单引号并将该字符串插入另一个带有未转义单引号的字符串

问题描述

试图让卷曲电话工作

这是红宝石代码

msg = "john's message"

@body = %Q|{"body":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"#{msg}"}]}]}}|.gsub("'"){"\\'"}

puts @body

curl_call = %Q|curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer xxxx' -d '#{@body}' --url 'https://api.atlassian.com/site/xxxx/conversation/xxxx/message'|

puts curl_call

system(curl_call)

这是错误:sh: 1: Syntax error: Unterminated quoted string

接受建议

标签: rubystringcurlescaping

解决方案


当您用'unicode 编码 ( \u0027) 替换时,它可以工作:

.gsub("'", "\u0027")

推荐阅读