Javascript:删除字符串中的随机字符串

时间:2012-10-18 06:08:00

标签: javascript string

我想删除数字和大括号,但是在从字符串中获取的索引之间的字符串中拼接结果。我只想把它删除,留下我:“1234 ..... ABCDEFG”

 var mystring = "1234 ..... { 400 } ABCDEFG";

 var s1 = mystring.indexOf("{");
 var s2 = mystring.indexOf("}");        
 mystring = mystring.splice(s1,s2);

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式替换来删除大括号和它们之间的字符:

var mystring = "1234 ..... { 400 } ABCDEFG";
mystring = mystring.replace(/\{.*?\}/, "");

工作演示:http://jsfiddle.net/jfriend00/sDHc9/


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

var mystring = "1234 ..... { 400 } ABCDEFG";
var s1 = mystring.indexOf("{");
var s2 = mystring.indexOf("}");   
mystring = mystring.substr(0, s1) + mystring.substr(s2 + 1);
alert(mystring);​

工作示例:http://jsfiddle.net/jfriend00/RHhe4/

答案 1 :(得分:1)

splice不是String方法,因此您的代码应该抛出TypeError

使用

var mystring = "1234 ..... { 400 } ABCDEFG";
mystring = mystring.replace(/{.+?}/,'');

或者,如果您真的想使用splice

var mystring = "1234 ..... { 400 } ABCDEFG";
var s1 = mystring.indexOf("{");
var s2 = mystring.indexOf("}");
mystring = [].splice.call(mystring,0,s1)
           .concat([].splice.call(mystring,s2+1))
           .join('');