我有以下内容:
str = str.gsub(re, '<pre><code>\1</code></pre>'
哪个输出:
<pre><code> stuff...
我希望<pre><code>
能够独立上线。如何在那里插入换行符?如果我输入\n
,则会显示为HTML。
答案 0 :(得分:7)
换行符必须用双引号括起来。使用双引号,您需要为模式匹配添加额外的反斜杠:
str = str.gsub(re, "<pre><code>\n\\1\n</code></pre>"
答案 1 :(得分:1)
字符串连接可以帮助简化问题并避免倾斜牙签综合症:
str = str.gsub(re, '<pre><code>\1</code></pre>'
变为:
str = str.gsub(re, "\n<pre><code>\n" + '\1' + "\n</code></pre>\n"
您可以在IRB中看到它正在做什么:
"\n<pre><code>\n" + '\1' + "\n</pre></code>\n"
=> "\n<pre><code>\n\\1\n</pre></code>\n"