Заменить подстроку специальными символами - PullRequest
3 голосов
/ 23 июня 2019

У меня есть строка, содержащая несколько подстрок, заключенных в специальные символы.Вот мой код:

var p = 'The quick brown fox jumps over the lazy [dog]. If the [dog] reacted, was it really lazy?';

var regex = /[\\[dog\\]]/g;

console.log(p.replace(regex, 'ferret'));

Код дает мне вывод The quick brown fox jumps over the lazy ferretdogferret. If the ferretdogferret reacted, was it really lazy?, но я ожидаю The quick brown fox jumps over the lazy ferret. If the ferret reacted, was it really lazy?

Ответы [ 2 ]

6 голосов
/ 23 июня 2019

Просто удалите набор символов вокруг всего шаблона и просто сопоставьте \[dog\]:

var p = 'The quick brown fox jumps over the lazy [dog]. If the [dog] reacted, was it really lazy?';

var regex = /\[dog\]/g;

console.log(p.replace(regex, 'ferret'));
2 голосов
/ 23 июня 2019

Вы можете просто использовать стандартный JS и подойти к нему, как показано ниже.

let txt = 'The quick brown fox jumps over the lazy [dog]. If the [dog] reacted, was it really lazy?'

let txt1 = txt.split(' ')
txt1.map((word, i) => word.includes('dog') ? txt1[i]='ferret':null )
let sentence = txt1.join(' ')

console.log(sentence)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...