1

我的选项如下所示:

<option value="80">a1, a2, a3, a4, a5 (80)</option>

使用此代码:

str_split = str.split(',');

我收到这个:

a1 a2 a3 a4 a5 (80)

但我想用大括号删除 id 来得到这个:

a1 a2 a3 a4 a5

id 可以像"(8)"or "(20)"or"(100)"等​​等一样变化。


我试过了

str_replace = str.replace(/[()]/g, "");

但它给了我这个结果:

a1 a2 a3 a4 a5 80

我怎么做?

编辑 :

是否可以使用字符串中带有 id 的最后一个大括号来执行此操作?

当我的选项看起来像这样时,刚刚对其进行了测试并遇到了问题

<option value="80">a1(12), a2(test), a3(333), a4(xx), a5(34) (80)</option>

我要这个

a1(12) a2(test) a3(333) a4(xx) a5(34)
4

2 回答 2

6

您可以使用

var str_replace = str.replace(/\([^)]+\)$/,'')

这个怎么运作 :

  • \(: 转义左括号
  • [^)]: 不是右括号
  • +: 至少一次
  • \): 右括号,转义
  • $: 字符串结束
于 2013-07-27T19:23:53.410 回答
1

您可以同时使用.split().replace()来执行此操作:

  1. 使用.split()

    var str_split = str.split(' (');
    var str_replace = str_split[0];
    
  2. 使用.replace()

    var str_replace = str.replace(/ \([0-9]+\)/, "");
    

jsFiddle在这里

于 2013-07-27T19:26:41.857 回答