您好我需要像这样创建字符串:
drawtext="fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2"
我想做点什么
str = Q%[drawtext="fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2"]
我得到了这个:
=> "drawtext=\"fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2\""
等号后面的转义字符drawtext =“是我想要摆脱的......如何实现呢?
该字符串将在命令行args中使用。
答案 0 :(得分:4)
与许多语言一样,Ruby需要一种分隔引用引号和封闭引号的方法。
你所看到的是转义字符,它是一种说出 literal 引用而不是语法引用的方式:
foo = 'test="test"'
# => "test=\"test\""
转义字符仅在那里,因为在检查字符串时默认使用双引号。当然,它内部存储为单个字符。您还可以在其他情况下看到这些,例如CR + LF分隔文件行:
"example_line\r\n"
此处\r
和\n
对应于回车符和换行符。 ANSI C中定义了几个这样的字符,这些字符已经包含在许多语言中,包括Ruby和JavaScript。
输出字符串时,不显示转义字符:
puts foo
test="test"