Можно ли было бы изменить
Hello, this is Mike (example)
к
Hello, this is Mike
используя JavaScript с Regex?
Ответы:
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");
Результат:
"Hello, this is Mike"
(example)только
var str = "Hello, this is Mike (example)";
alert(str.replace(/\s*\(.*?\)\s*/g, ''));
Это также заменит лишние пробелы до и после круглых скобок.
Пытаться / \([\s\S]*?\)/g
куда
( пробел) буквально соответствует символу (пробел)
\((буквально соответствует персонажу
[\s\S]соответствует любому символу ( \sсоответствует любому пробельному символу и \Sсоответствует любому непробельному символу)
*? совпадения от нуля до неограниченного времени
\))буквально соответствует персонажу
g соответствует глобально
Пример кода:
var str = "Hello, this is Mike (example)";
str = str.replace(/ \([\s\S]*?\)/g, '');
console.log(str);
.as-console-wrapper {top: 0}
Я нашел эту версию наиболее подходящей для всех случаев. Он не удаляет все пробелы.
Например «а (тест) б» -> «а б»
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim();
"Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();
trimне поддерживается повсеместно: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… , по крайней мере, этого не было в 2015 году ... в 2017 году это выглядит намного лучше.