JavaScript regex - как получить текст между фигурными скобками

Я должен получить текст (если таковые имеются) между фигурными скобками. Я действительно находил это другое сообщение, но технически ему не ответили правильно: Регулярное выражение для извлечения текста или между квадратными или между фигурными скобками

Это на самом деле не сказало, как на самом деле извлечь текст. Таким образом, я имею настолько далеко:

var cleanStr = "Some random {stuff} here";
var checkSep = "\{.*?\}"; 
if (cleanStr.search(checkSep)==-1) { //if match failed
  alert("nothing found between brackets");
} else {
  alert("something found between brackets");
}

Как я затем извлекаю 'материал' из строки? И также если я беру это далее, как делают я извлекаю 'материал' и 'предложение' от этой строки:

var cleanStr2 = "Some random {stuff} in this {sentence}";

Удачи!

6
задан Community 23 May 2017 в 12:07
поделиться

2 ответа

Чтобы извлечь все вхождения между фигурными скобками, вы можете сделать что-то вроде этого:

function getWordsBetweenCurlies(str) {
  var results = [], re = /{([^}]+)}/g, text;

  while(text = re.exec(str)) {
    results.push(text[1]);
  }
  return results;
}

getWordsBetweenCurlies("Some random {stuff} in this {sentence}");
// returns ["stuff", "sentence"]
19
ответ дан 8 December 2019 в 12:18
поделиться

Создайте «группу захвата», чтобы указать нужный текст. Используйте функцию String.replace (), чтобы заменить всю строку только обратной ссылкой на группу захвата. У вас остался нужный текст.

0
ответ дан 8 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: