Как убрать все переносы строк с помощью RegEx?

214
25 ноября 2021, 11:40

Как можно выбрать все переносы строк и заменить их пустой строкой? Пытался сделать так:

const reg = /\n+/g;
const str = `string1
string2

string3
string4
`
console.log(str.replace(reg, ''));

Полученный результат:

string1string2string3string4 

Ожидаемый результат:

string1
string2
string3
string4

Можно, конечно, заменить не на пустую строку, а на тот же символ переноса. Но можно ли получить желаемый результат без замены на перенос строки?

Answer 1

Вы можете использовать

s = s.replace(/[\r\n]+/g, '\n');

Выражение /[\r\n]+/g находит все совпадения одного и более знаков перевода каретки (CR, \x0D) или переноса строки (LF, \x0A) и шаблон замены '\n' заменяет их одним знаком LF.

Пример работы кода на JavaScript:

const reg = /[\r\n]+/g; 
const str = `string1 
 
string2 
 
 
string3 
 
string4 
 
` 
console.log(str.replace(reg, '\n'));

Answer 2

Получилось получить желаемый результат следующим выражением:

const reg = /\s(?=(\n|\r|\r\n))/g;
READ ALSO
Не работает загрузка doc файла в safari

Не работает загрузка doc файла в safari

Загрузка не работает только в safari - http://bravegk-russiaru/?page_id=2

179
pyython, django

pyython, django

есть три модели каждая зависит от следующейподскажите как выводить данные последовательно на 1 странице данные с country при переходе по ссылке...

177
Почему бизнес-логика имеет название "бизнес"?

Почему бизнес-логика имеет название "бизнес"?

Почему бизнес-логика имеет название "бизнес"?

102
Как расположить надпись по координатам X и Y

Как расположить надпись по координатам X и Y

Вопрос в том что я не понял как работает расположение по координатам X и Y Объясните пожалуйста То что счёт идёт от ЛВ угла экрана я знаю и то что...

176