1

Ruby でエスケープ文字を含むファイルを読み取るのに苦労しています...

私のテキスト ファイルには "First Line\r\nSecond Line" という文字列があり、File.read を使用すると、エスケープした文字をエスケープする文字列が返されます: "First Line\r\nSecond Line"

これらの 2 つの文字列は同じものではありません...

1.9.2-p318 :006 > f = File.read("file.txt")
 => "First Line\\r\\nSecond Line" 
1.9.2-p318 :007 > f.count('\\')
 => 2

1.9.2-p318 :008 > f = "First Line\r\nSecond Line"
 => "First Line\r\nSecond Line" 
1.9.2-p318 :009 > f.count('\\')
 => 0

エスケープされた文字をエスケープしないように File.read を取得するにはどうすればよいですか?

4

2 に答える 2

0

それらをハックして戻すことができます。

foo = f.gsub("\r\n", "\\r\\n")
#=> "First Line\\r\\nSecond Line"

foo.count("\\")
#=> 2
于 2013-01-02T17:59:07.080 に答える