Regex для удаления \ r и \ n или \ r \ n - PullRequest
7 голосов
/ 02 февраля 2012

Я использую следующее регулярное выражение для создания новых строк
тегов:

str.gsub("\r\n", '<br>')

Это отлично работает на рабочем столе.на iphone текст имеет только \ n, но не имеет \ r.

Как я могу также сделать поддержку регулярных выражений?\ r \ n или просто \ n?

Спасибо

Ответы [ 5 ]

12 голосов
/ 02 февраля 2012

Я думаю,

str.gsub(/\r?\n/, '<br>')

должен сделать работу

9 голосов
/ 02 февраля 2012

\r\n|\r|\n

Это регулярное выражение также позволит вам поддерживать Mac, которые используют \r в качестве окончания строки. Поскольку регулярные выражения являются жадными, они будут соответствовать \r\n, в отличие от отдельных, если это возможно.

1 голос
/ 19 декабря 2016

Это, вероятно, самый простой способ:

str.gsub(/\R/, '<br>')

/\R/ работает для Mac / Linux / Windows и включает в себя более экзотические символы новой строки Юникода.

1 голос
/ 02 февраля 2012

оператор ? примет 0 или один из предшествующих элементов, поэтому \r?\n должен принять \r or \n or \r\n

0 голосов
/ 22 апреля 2016

\r?\n|\r

\r?\n будет соответствовать \n или \r\n.

\r будет соответствовать просто \r.

Это должно работать для Windows \ Mac \ Linux EOL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...