在Ruby中,我试图将字符串转换为哈希值。它出现了逃避字符和" \ n"在字符串中。
例如:
<body>
<div id="left">
<p class="Title"> <h2>MARIO PUZO'S</h2>
<h1 id="godfather">THE GODFATHER</h1>
<h1 id="shawshank" style="display: none;">Shawshank Redemption</h1>
<h4>by Mario Puzo and Francis Ford Coppola</h4>
TRANSCRIPT</p>
<div class="Txt2">
<select id="1">
<option value="1">desk</option>
<option value="2">dark, empty room(shawshank redemption)</option>
<option value ="3">SOCIAL ROOM(fight club)</option></select>
</div></body>
将结果打印为
hashex = { keyex: 'example "test" line 1
line 2 "test2"'}
puts hashex
我需要将结果作为
{:keyex=>"example \"test\" line 1\n line 2 \"test2\""}
保留换行符(不是&#39; \ n&#39;)和&#34;&#34;。请帮助。
答案 0 :(得分:0)
{:keyex=>"example \"test\" line 1\n line 2 \"test2\""}
就是Ruby代表哈希的方式。它与100%的对象相同:
{ keyex: 'example "test" line 1
line 2 "test2"'}
即使它可能看起来不同。
您可以使用换行符替换"\\n"
inspect
,\"
替换"
,"
替换'
:
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"'}