Регулярное выражение: заменить символ - PullRequest
1 голос
/ 07 марта 2019

Я хочу заменить персонажа, но ничего не происходит.

   const str = '//id//user/param//test';
    const result = str.replace(/[//]/gi, '/');

Это то, что я получаю:

//id//user/param//test

Это то, что я хочу:

/id/user/param/test

Ответы [ 2 ]

3 голосов
/ 07 марта 2019

Вы также можете сделать это с помощью группы регулярных выражений /\/+/

const str = '//id//user/param//test';
const result = str.replace(/\/+/g, '/')

console.log(result)
3 голосов
/ 07 марта 2019

[...] обозначает группу символов, которая соответствует любому одному этих символов. Таким образом, [//] по существу означает «совпадение / или /». Таким образом, [//] совпадает с [/].

Вам не нужна группа символов:

const str = '//id//user/param//test';
console.log(str.replace(/\/\//gi, '/'));

Если вы хотите сопоставить два или более /, используйте квантификаторы + или {2,}:

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