2017-03-22 8 views
0

Rubyでは、文字列をハッシュ値に変換しようとしています。それは、エスケープ文字と "\ n"という文字列で表示されます。Ruby - 文字列をハッシュ値に変換する際にエスケープ文字と " n"を取り除くには?

例:

hashex = { keyex: 'example "test" line 1 
    line 2 "test2"'} 
puts hashex 

{:keyex=>"example \"test\" line 1\n line 2 \"test2\""} 

は私が改行(ない '\ n' を)保存

{ keyex: 'example "test" line 1 
     line 2 "test2"'} 

として結果を取得する必要があるとして、それが結果を印刷していますそしてその ""。親切に助けてください。

答えて

0

{:keyex=>"example \"test\" line 1\n line 2 \"test2\""} 

は、Rubyのハッシュを表しだけの方法です。

{ keyex: 'example "test" line 1 
    line 2 "test2"'} 

と異なる場合がありますが、同じオブジェクトの100%です。

あなたは'""で改行とinspectから"\\n"\"を置き換えることができなかった

コード:

hashex = { keyex: 'example "test" line 1 
    line 2 "test2"'} 

puts hashex.inspect.gsub("\\n", "\n").gsub('"', "'").gsub("\\'",'"') 
# {:keyex=>'example "test" line 1 
#  line 2 "test2"'} 
+0

まさかそれを取り除くために '\'? :( – user3784251

+0

@ user3784251:回答を更新しました –

関連する問題