1
我有以下几点:如何使用gsub替换换行符?
str = str.gsub(re, '<pre><code>\1</code></pre>'
,输出:
<pre><code> stuff...
我想为<pre><code>
本身是在其上线。我怎样才能在那里插入一个换行符?如果我输入\n
它显示为HTML。
我有以下几点:如何使用gsub替换换行符?
str = str.gsub(re, '<pre><code>\1</code></pre>'
,输出:
<pre><code> stuff...
我想为<pre><code>
本身是在其上线。我怎样才能在那里插入一个换行符?如果我输入\n
它显示为HTML。
换行符需要用双引号括起来。用双引号,你需要一个额外的反斜杠的模式匹配:
str = str.gsub(re, "<pre><code>\n\\1\n</code></pre>"
字符串连接可以帮助简化问题,避免了倾斜牙签综合症:
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"
要明确一点,'\ n''是“literal-slash,n”,而“\ n”'是“newline”。在单引号内部,反斜杠字符不是特殊的,除了'\''。 – tadman 2012-01-17 22:18:25