2012-10-18 102 views
0

我想刪除數字和大括號,但是拼接結果是從字符串獲取的索引之間的字符串。我只是希望它去除,留下我:「1234 ..... ABCDEFG」Javascript:刪除字符串中的隨機字符串

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

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

回答

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

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('');