如何读取文件并转义字符?
问题描述:
我有一个包含字符串的一个这样的数组文件:如何读取文件并转义字符?
["1234","4567","8899"]
我打开这样的文件:
File.open("./tmp/foo/foo_bar", "r") { |file| file.read }
,但它的报价回来,"\"
这样的:
"[\"1234\",\"4567\",\"8899\"]"
如何将额外的""
和"\"
删除?
答
如果你试图反序列化文件,并把内容变成可用的Ruby对象,那么在这种情况下,你可以使用JSON库
require 'json'
contents = File.open("./tmp/foo/foo_bar", "r") { |file| file.read } # => "[\"1234\",\"4567\",\"8899\"]"
result = JSON.parse(contents) # => ["1234", "4567", "8899"]
result.is_a?(Array) # => true
+0
这完全是我需要它做的,谢谢! – kmancusi
+0
没问题! @kmancusi –
你是如何显示的数据?使用'p'? –
您不能在文件中直接存储数组。你得到的是一个字符串,这就是你从一开始就在文件中所做的。 – sawa