Как заменить на новую строку, используя gsub? - PullRequest
1 голос
/ 18 января 2012

У меня есть следующее:

str = str.gsub(re, '<pre><code>\1
'

Какие выходы:

<pre><code>        stuff...

Я бы хотел, чтобы <pre><code> был включенсам.Как я могу вставить туда символ новой строки?Если я введу \n, он отобразится как HTML.

Ответы [ 2 ]

7 голосов
/ 18 января 2012

Символы новой строки должны быть заключены в двойные кавычки.С двойными кавычками вам понадобится дополнительная обратная косая черта для соответствия шаблону:

str = str.gsub(re, "<pre><code>\n\\1\n
"
1 голос
/ 18 января 2012

Объединение строк может помочь облегчить проблему и избежать синдрома наклоняющейся зубочистки:

str = str.gsub(re, '<pre><code>\1
'

Становится:

str = str.gsub(re, "\n<pre><code>\n" + '\1' + "\n
\ n "

Вы можете увидеть, что он делает в IRB:

<code>"\n<pre><code>\n" + '\1' + "\n
\ n "=>" \ n
<code>\n\\1\n
\ n "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...