数字と中括弧を削除したいのですが、スプライシングすると、文字列から取得したインデックスの間に文字列が作成されます。「1234.....ABCDEFG」を残して削除したいだけです
var mystring = "1234 ..... { 400 } ABCDEFG";
var s1 = mystring.indexOf("{");
var s2 = mystring.indexOf("}");
mystring = mystring.splice(s1,s2);
数字と中括弧を削除したいのですが、スプライシングすると、文字列から取得したインデックスの間に文字列が作成されます。「1234.....ABCDEFG」を残して削除したいだけです
var mystring = "1234 ..... { 400 } ABCDEFG";
var s1 = mystring.indexOf("{");
var s2 = mystring.indexOf("}");
mystring = mystring.splice(s1,s2);
正規表現置換を使用して、中括弧とそれらの間の文字を削除することができます。
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/
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('');