Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос простой (https://javascript.ru/forum/misc/83796-vopros-prostojj.html)

Semen194658523 15.03.2022 22:59

Вопрос простой
 
Всем привет, новичок в вашем деле ребята, рыл и не отрыл, помогите пожалуйста. задача такая -
Представьте, что у вас есть фильтр, который принимает на вход и дает на выход строчку. У этого фильтра есть две настройки:

regexp — шаблон, регулярное выражение;
replacement — замена, применяется если входная строка удовлетворяет шаблону.

Вам необходимо настроить этот фильтр так, чтобы он корректно выполнял следующую операцию:

Входной адрес
140002 ЛЮБЕРЦЫ 2 ОКТЯБРЬСКИЙ ПР 123/4-115

Что надо получить
140002 ЛЮБЕРЦЫ ОКТЯБРЬСКИЙ ПР 123/4-115

Комментарий
После названия города может идти цифра, совпадающая с концом индекса. Это номер почтового отделения. Её необходимо убрать.

Я вот что накидал -
var re = /2/gi;
var str = '140002 ЛЮБЕРЦЫ 2 ОКТЯБРЬСКИЙ ПР 123/4-115';
var newstr = str.replace(re, '');
console.log(newstr);


Но проблема в том что он удаляет все двойки, а мне нужно удалить только ту что идёт после "ЛЮБЕРЦЫ", как мне эту двойку идентифицировать?

Aetae 15.03.2022 23:25

Если цифра только одна, то так
.replace(/^(\d*?(\d)\s+\S+\s+)\2\s+/, '$1')

Semen194658523 16.03.2022 00:13

Cпасибо, подскажи ещё пожалуйста как это в моём коде должно выглядеть? Где этот replace должен стоять?

Semen194658523 16.03.2022 11:10

Догадался сам, смог)


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