Как получить строку замены в JavaScript

#javascript #reactjs #regex

#javascript #reactjs #регулярное выражение

Вопрос:

 const string = 'Hey My name is    Vijay   .';

console.log(string.replace(/  (.*)  /, 'A'));
  

Как вы видели в приведенном выше примере, который я заменяю Vijay на A , как я могу получить Vijay вместо A ?
Например, замененное слово должно появиться в A .

Комментарии:

1. Вам нужно сохранить замененное слово, а затем заменить его на A.

Ответ №1:

Используйте ‘$amp;’ , который представляет соответствующую строку.

например

 console.log(string.replace(/  (.*)  /, '$amp;'));
  

Даст вам тот же точный результат (поскольку вы заменяете Vijay на Vijay).

Смотрите: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter

Комментарии:

1. Слово Виджай может быть разным. Это может быть любое имя, но я хочу это конкретное слово, потому что мне нужно добавить редактор для этого слова.

Ответ №2:

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

 const string = 'Hey My name is    Vijay   .';
const regex = /  (.*?)  /g
const array = [...string.matchAll(regex)];
console.log(array);