如何读取文件并转义字符?

问题描述:

我有一个包含字符串的一个这样的数组文件:如何读取文件并转义字符?

["1234","4567","8899"] 

我打开这样的文件:

File.open("./tmp/foo/foo_bar", "r") { |file| file.read } 

,但它的报价回来,"\"这样的:

"[\"1234\",\"4567\",\"8899\"]" 

如何将额外的"""\"删除?

+0

你是如何显示的数据?使用'p'? –

+0

您不能在文件中直接存储数组。你得到的是一个字符串,这就是你从一开始就在文件中所做的。 – sawa

如果你试图反序列化文件,并把内容变成可用的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 –