RegExp, чтобы найти и заменить все пробелы между двумя отдельными разделителями - PullRequest
2 голосов
/ 12 марта 2019

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

Например:

{First Value} where {Second Available Value} is greater than {Value}

Я хочу, чтобы строка стала:

{FirstValue} where {SecondAvailableValue} is greater than {Value}

У меня мало опыта в регулярных выражениях, но это то, что я пробовал на построителе регулярных выражений:

/{([^}]*)}/g

Это, однако, соответствует подстроки (слова между фигурными скобками), включая разделитель

Как мне сопоставить только пробелы внутри фигурных скобок?

1 Ответ

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

Мы можем попробовать заменить регулярное выражение на функцию обратного вызова, нацеленную на следующий шаблон:

\{.*?\}

То есть мы попытаемся сопоставить каждый термин, содержащийся в фигурных скобках.Эта функция обратного вызова может затем удалить все пробелы.

var input = "{First Value} where {Second Available Value} is greater than {Value}";
console.log(input);
input = input.replace(/\{.*?\}/g, function(match, contents, offset, input_string) {
    return match.replace(/ /g, '');
});

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