经过大量的研究和头脑风暴,我终于放弃了它,需要一个帮助,以转换为单反斜杠,但我不能这样做。
下面是一些我遵循的步骤,但不起作用
"C:/projects/test/code".gsub('/','\\') => "C:\\projects\\test\\code"
"C:/projects/test/code".gsub('/','\\\\') => "C:\\projects\\test\\code"
"C:/projects/test/code".gsub('/',"\'\\'") => "C:'projects/test/codeprojects'test/codetest'codecode"
我期望的结果应该是:
=> "C:\projects\test\code"
接受任何帮助和建议请帮助
最佳答案
你已经这么做了:
"C:/projects/test/code".gsub('\', '\\') # => "C:\\projects\\test\\code"
很可能您对输出中的“\”感到困惑这很正常。试着说:
puts "C:/projects/test/code".gsub(/\//, '\\') # => C:\projects\test\code
更新时间:
\在Ruby中(不仅如此)用于多行字符串连接,因此当您在irb中键入它时,它会继续读取用户的输入。
关于IRB的一些注意事项:
当您在IRB中执行某个命令时,它会输出结果以进行调试:
irb> "foo\r\nbar"
=> "foo\r\nba"
此行包含\r\n转到新行的开头意味着什么所以如果你想在人类模式下看到它,只要打印出来,它就会给出:
irb> puts "foo\r\nbar"
foo
bar
如果要阻止输出,可以使用分号:
irb> s = "foo\r\nbar";
irb* puts s
foo
bar
关于ruby-on-rails - 从任何路径替换 ruby 中的正斜杠到反斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48017659/