如何删除“()”之间的文本

时间:2011-01-09 20:19:07

标签: javascript regex string

输入:

动态文字(PDF 120 KB)

输出:

动态文字

4 个答案:

答案 0 :(得分:5)

var str = "Dynamic Text (PDF 120 KB)";
document.write(str.replace(/\([^)]+\)/,""));  // Dynamic Text
  • \(匹配(。您需要转义(,因为它是用于定义捕获组的特殊字符;
  • [^)]+匹配1个或多个字符,但);
  • 最后,\)与结尾)匹配。

参考文献:

  1. JavaScript replace() Method
  2. JavaScript RegExp Object

答案 1 :(得分:2)

如果您不想使用正则表达式,可以这样做:

var str = "Dynamic Text (PDF 120 KB)";

var result = str.slice( 0, str.indexOf('(') );

取一个.slice()的字符串,从第一个字符开始,然后停在(的第一个实例。

请注意,这是String切片,而不是Array切片,它没有广泛的浏览器支持。

答案 2 :(得分:1)

var text = "Dynamic Text (PDF 120 KB)";
var new_text = text.replace(/\(.*\)/,"");

这应该这样做,但我宁愿use split()代替。

答案 3 :(得分:1)

试试这个:

var regExp = /\(.*\)/g;
alert("Dynamic Text (PDF 120 KB)".replace(regExp,""));