在字符串的开头引入反斜杠和引号

时间:2014-12-11 10:04:34

标签: ruby

我想将"her"转换为"\"her"

我尝试使用insert方法:

>> "her".insert(0,'\"')
=> "\\"her"

>> "her".insert(0,'"')
=> ""her"

他们都没有给我我想要的东西:"\"her"

3 个答案:

答案 0 :(得分:2)

"her".insert(0,'"')

实际上会返回"\"her",这就是你首先想要的。

如果您想获得"\"her\"",可能需要使用Object#inspect

"her".inspect
=> "\"her\""

或者,您可以简单地在开头和结尾连接引号:

'"' + "her" + '"'
=> "\"her\""

答案 1 :(得分:0)

如果您只想要"\"her"

a = "her".insert(0,'\"')
#=> "\\\"her"
puts a
#=> \"her

如果您想要输出"\"her\""

a = "her"
#=> "her"
b = '\"'+a+'\"'
#=> "\\\"her\\\""
puts b
#=> \"her\"

答案 2 :(得分:0)

我认为您的代码很好,您只是不知道控制台中\\的含义。

第一个\是转义字符,第二个\是字符本身。

您将在文本\"her中看到foo.txt,如您所期望的那样:

File.write("foo.txt", "her".insert(0,'\"'))