str = "<ul>\n<li>One</li>\n<li>Two</li>\n</ul>\n"
File.open('test', 'w') do |f|
f.write(str)
end
这样 test 文件的内容为:
<ul>
<li>One</li>
<li>Two</li>
</ul>
我想保留'\n'
,在文件里显示为一行,应该怎么写啊?
#6 楼 @alsotang #7 楼 @luikore Wow, 很完美的解决方法。
str1 = "<ul>\n<li>One</li>\n<li>Two</li>\n</ul>\n"
puts str.gsub("\n", "\\n") # => <ul>\n<li>One</li>\n<li>Two</li>\n</ul>\n
puts str.inspect # => "<ul>\n<li>One</li>\n<li>Two</li>\n</ul>\n"
str2 = "<p><code>\nputs "hello,\\nworld"\n</code></p>\n"
puts str.gsub("\n", "\\n")
# => <p><code>\nputs "hello,\nworld"\n</code></p>\n
puts str.inspect
# => "<p><code>\\nputs "hello,\\nworld"\\n</code></p>\\n"
我尝试过str.gsub("\n", "\\n")
,对于前一种情况没问题,后面的就出错了。