JavaScript | Как удалить всё, что находится внутри круглых скобок в строке?

JavaScript | Как удалить всё, что находится внутри круглых скобок в строке?

Есть строка:

let str = 'Телефон (ERT-266252) розовый (art72378fd) 128 гигабайт ОЗУ'

Мы хотим удалить всё, что находится внутри круглых скобок, но оставить сами скобки. Как это сделать?

 

Решение

Нам нужно написать шаблон регулярного выражения.

/(\()(.*?)(\))/g

В этом выражении работает три захвата:

  1. (\()
  2. (.*?)
  3. (\))

Первый ищет левую круглую скобку

Второй ищет содержимое между левой и правой скобкой

Третий ищет правую круглую скобку

 

В конце выражения RegExp мы добавляем глобальный флаг ‘g‘ для сопоставления шаблона по всей строке. Это нужно если пар круглых скобок будет несколько.

Производить замену мы будем при помощи метода replace(), который наследуется всеми строками String.

str.replace(/(\()(.*?)(\))/g, '$1$3')

Мы отбрасываем серединную часть.

Обратными слешами мы экранируем символы круглых скобок, чтобы воспринимать их как дизъюнкции, а не как управляющие символы Атома.

 

Результат работы выражения:

Удалили текст внутри круглых скобок в строке через RegExp - JavaScript
Удалили текст внутри круглых скобок в строке через RegExp — JavaScript

Теперь наша строка имеет вид:

'Телефон () розовый () 128 гигабайт ОЗУ'

Мы успешно удалили информацию внутри круглых скобок

 

Информационные ссылки

Стандарт ECMAScript — Раздел «22.2 RegExp (Regular Expression) Objects» — https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects