正则表达式取代最后(某事)

时间:2018-06-07 15:03:38

标签: javascript ecmascript-6

我有一组数据总是包含这样的内容:

title(s) (some_text)

现在我想用正则表达式删除(某些东西)。

我的问题:(some_text)中的值可以是任何值。

知道如何使用正则表达式来解决这个问题吗?

一些示例数据:

Egg(s) (whole) 
Berry (mix) (g)

预期输出:

Egg(s)
Berry (mix)

3 个答案:

答案 0 :(得分:0)

使用\s\(.*\)$,您可以删除数据的最后一部分

这里是example

答案 1 :(得分:0)

假设您的每一行都在一个单独的字符串中,您可以使用它来匹配应删除的内容:

\s*\([^(]*\)\s*$

在剧本中:

var tests = ["Egg(s) (whole) ", "Berry (mix) (g)"];
for (let s of tests) {
    s = s.replace(/\s*\([^(]*\)\s*$/, "");
    console.log(s);
}

答案 2 :(得分:0)

以下是我使用此正则表达式/\s\([^(]*\)$/所做的事情:



var tests = ["Egg(s) (whole)", "Berry (mix) (g)"];
tests.forEach(function(str, i){
  tests[i] = str.replace(/\s\([^(]*\)$/, '');
});

console.log(tests);




您无法使用更简单的/\s\(.*\)$/因为它将返回" Berry" for" Berry(mix)(g)"。

希望它有所帮助。