ruby - 转义字符串中的单引号并将该字符串插入另一个带有未转义单引号的字符串
问题描述
试图让卷曲电话工作
这是红宝石代码
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
接受建议
解决方案
当您用'
unicode 编码 ( \u0027
) 替换时,它可以工作:
.gsub("'", "\u0027")
推荐阅读
- angular - Angular 7 错误:- 错误 TS2503:找不到命名空间“google”
- c# - 迭代划分二维数组
- python - 通过 Gmail API 将 CSV 文件转换为 Pandas df
- c++ - 在谈论 ADT 时,表示和实现之间是否有区别?表示如何与“接口”相关联?
- properties - Xquery 从 .properties 文件中提取属性值
- matlab - Matlab 3D按H然后S然后V排序
- java - 如何指定 ToolProvider.getSystemJavaCompiler() 的工作目录以允许 -classpath 选项中的相对路径?
- r - 创建 R 包时,如何包含安装时显示的警告?有方便的 roxygen2 标签吗?
- bash - 不能在 grep 上使用过滤器来搜索包括字符串在内的所有路径
- numpy - Numpy:如何生成特定的数组(迭代器会更好)