Javascript 如果还有两个括号,请删除两个括号之间的文本

Javascript 如果还有两个括号,请删除两个括号之间的文本,javascript,regex,Javascript,Regex,我有这个字符串: “这个东西(123,12)(2005.03-2011.12)” 我想将其转换为: “这件事(2005.03-2011.12)” 意思是删除第一个括号中的文本:(123,12)。但仅当同一字符串中有两个或多个括号时。那么一条像 “另一件事(2005.05-2011.08)” 应该保持原样。 如何使用javascript实现这一点?您可以像这样使用String.replace()和regex 根据给出的数据,这是可行的 var str=“这个东西(123,12)(2005.03-

我有这个字符串:

“这个东西(123,12)(2005.03-2011.12)”

我想将其转换为:

“这件事(2005.03-2011.12)”

意思是删除第一个括号中的文本:
(123,12)
。但仅当同一字符串中有两个或多个括号时。那么一条像

“另一件事(2005.05-2011.08)”

应该保持原样。 如何使用javascript实现这一点?

您可以像这样使用String.replace()和regex


根据给出的数据,这是可行的

var str=“这个东西(123,12)(2005.03-2011.12)”;
var parts=str.split(/(?=\()/g);//split on(带前瞻)
如果(零件长度==3)零件拼接(1,1)
str=零件连接(“”)

console.log(str)
您的问题并不清楚。但就我而言,您可以先将所有字符串转换为chars数组,然后计数i大于4,然后使用第一个括号的索引,从该字符串中找到下一个。@JaromandaX无效正则表达式标志错误。regexp是正确的(根据答案,这不是最好的)-问题是regexp如何出现在注释中,因为\characters-那么
“This thing(123,12)(2005.03)”或者
“This thing(123,12)hello world(2005.03-2011.12)”呢
-在这种情况下会发生什么?@JaromandaX将不会发生。如果我不想匹配大括号中的数字和数字,那会怎样?我不确定我是否理解正确。你能举个例子,比如输入和输出吗?
var regex = /(\(.+?\))\s?\(/g;
var str1 = "This thing (123, 12) (2005.03 - 2011.12)";
var str1 = "This thing (2005.03 - 2011.12)";

alert(str1.replace(regex,'('));
alert(str2.replace(regex,'('));