簡體   English   中英

JavaScript/regex:刪除括號之間的文本

[英]JavaScript/regex: Remove text between parentheses

有沒有可能改變

Hello, this is Mike (example)

Hello, this is Mike

在正則表達式中使用 JavaScript?

"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");

結果:

"Hello, this is Mike"
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}

如果您還需要刪除嵌套括號內的文本,則:

        var prevStr;
        do {
            prevStr = str;
            str = str.replace(/\([^\)\(]*\)/, "");
        } while (prevStr != str);

我發現這個版本最適合所有情況。 它不會刪除所有空格。

例如“a(測試)b”->“ab”

"Hello, this is Mike (example)".replace(/ *\\([^)]*\\) */g, " ").trim(); "Hello, this is (example) Mike ".replace(/ *\\([^)]*\\) */g, " ").trim();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM