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