我想删除数字和大括号,但是拼接会导致字符串在从字符串中获取的索引之间。我只想把它去掉,只留下:“1234...ABCDEFG”
var mystring = "1234 ..... { 400 } ABCDEFG";
var s1 = mystring.indexOf("{");
var s2 = mystring.indexOf("}");
mystring = mystring.splice(s1,s2);发布于 2012-10-18 14:11:42
您可以使用正则表达式替换来删除大括号和它们之间的字符:
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);发布于 2012-10-18 14:12:05
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('');https://stackoverflow.com/questions/12948116
复制相似问题