如何格式化"hello bro"
以获取ruby中的"hello\ bro"
。
当我使用"...".gsub /\s/,'\\ '
时,我获得了bash无法读取的“hello \\ bro”。 '\'替换没有效果。
由于
答案 0 :(得分:1)
您的gsub
参数实际上是正确的。如果您通过irb
运行它,可能不太明显 - 反斜杠在控制台输出中被转义。例如:
irb(main):036:0> my_str = "hello bro".gsub /\s/, '\\ '
=> "hello\\ bro"
但是,当我们输出my_str
的值时,我们会看到预期的字符串:
irb(main):043:0> puts my_str
hello\ bro
那就是说,除非你绝对确定空格是你需要逃脱的唯一角色,否则你最好使用像Shellwords这样的东西,如上所述在评论中。