Найти первое вхождение символа и удалить все остальные вхождения этого символа

Пример: Есть строка 45.44.55.66, на выходе должно получиться 45.445566 Как это можно сделать, используя регулярные выражения?


Ответы (2 шт):

Автор решения: ksa

Есть строка 45.44.55.66, на выходе должно получиться 45.445566 Как это можно сделать, используя регулярные выражения?

Такое можно сделать например таким образом...

const str = '45.44.55.66'
const re = /\.(\d\d)\.(\d\d)$/
console.log(str.replace(re, '$1$2'))

Еще можно сделать вот так...

    const str = '45.44.55.66'
    const re = /(?<!^\d+)\./g
    console.log(str.replace(re, ''))

→ Ссылка
Автор решения: ipatev_nn

Тоже вариант предложу с логическим или.

const str = `45.44.55.66
123.4325.474.77`;
const reg = /(?:(^\d+\.)|\.)/gm;
console.log(str.replace(reg, '$1'));

Захватываем в первую группу цифры от начала строки и первою точку после них, остальные символы точки удаляются.

→ Ссылка