2

これはうまくいくはずだったと思いますが、私が望むことを実行させることができません:

new_str = old_str.replace(3, "a");
// replace index 3 (4th character) with the letter "a"

それで、もし私がabcdefそれを持っていたら、上記は戻るはずabcaefですが、私は何か間違ったことをしたに違いありません。それはキャラクターを変えていますが、期待されたものではありません。

ネイティブJSまたはjQueryソリューションのいずれかが最適です(私はそのページでjQueryを使用しています)。

検索してみましたが、すべてのチュートリアルで正規表現などについて説明しており、インデックスの置き換えについては説明していません。

4

2 に答える 2

2

配列スタイルの置換が必要なようですので、文字列を配列に変換します。

// Split string into an array
var str = "abcdef".split("");

// Replace char at index
str[3] = "a";

// Output new string
console.log( str.join("") );
于 2013-03-06T04:11:42.393 に答える
1

ここに他の3つの方法があります-

var old_str= "abcdef",

//1.
new_str1= old_str.substring(0, 3)+'a'+old_str.substring(4),

//2.
new_str2= old_str.replace(/^(.{3}).(.*)$/, '$1a$2'),

//3.
new_str3= old_str.split('');
new_str3.splice(3, 1, 'a');

//戻り値

new_str1+'\n'+new_str2+'\n'+ new_str3.join('');

abcaef
abcaef
abcaef
于 2013-03-06T04:24:08.333 に答える