是否可以更改
Hello, this is Mike (example)
到
Hello, this is Mike
将JavaScript与Regex一起使用?
答案 0 :(得分:165)
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");
结果:
"Hello, this is Mike"
答案 1 :(得分:24)
var str = "Hello, this is Mike (example)";
alert(str.replace(/\s*\(.*?\)\s*/g, ''));
这也将在括号前后替换多余的空格。
答案 2 :(得分:3)
尝试/ \([\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}
答案 3 :(得分:1)
我发现这个版本最适合所有情况。它不会删除所有空格。
例如" a(测试)b" - > " a b"
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim();
"Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();
答案 4 :(得分:1)
如果您还需要删除嵌套括号内的文本,则:
var prevStr;
do {
prevStr = str;
str = str.replace(/\([^\)\(]*\)/, "");
} while (prevStr != str);