Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помощь с регуляркой (https://javascript.ru/forum/misc/84061-pomoshh-s-regulyarkojj.html)

AleBa 22.05.2022 14:21

Помощь с регуляркой
 
Добрый день
Подскажите как регулярным выражением сделать перенос строки после каждой третьей запятой

Спасибо

ksa 22.05.2022 14:29

Цитата:

Сообщение от AleBa
регулярным выражением сделать перенос строки после каждой третьей запятой

Как вариант...
const str = '123, 456, 789,123,456,789,123'
const re =/((.+?,){3})/g
alert(str.replace(re, '$1\n'))

rgl 30.05.2022 16:50

Альтернативный вариант:
const str = '123, 456, 789,123,456,789,123'
const re =/(?:[^,]+,){3}/g
alert(str.replace(re, '$&\n'))

rragegfffa 30.05.2022 19:07

str.replace(/(.*?,){3}/g, '$&\n')


А так можно обобщить:
const adduceEvery = (substr, every, replacer) => 
    (str) => str.replace(new RegExp(`(.*?${substr}){${every}}`, 'g'), `$&${replacer}`)

const commaAdducer$3 = adduceEvery(',', 3, '\n')

commaAdducer$3('world,1,5,591125,25,12,44,41')


Часовой пояс GMT +3, время: 04:23.