特定の位置の文字を文字列に置き換えることは可能ですか
文字列があるとしましょう:"I am a man"
7 の文字を文字列に置き換えたい"wom"
(元の文字に関係なく)。
最終結果は次のようになります。"I am a woman"
特定の位置の文字を文字列に置き換えることは可能ですか
文字列があるとしましょう:"I am a man"
7 の文字を文字列に置き換えたい"wom"
(元の文字に関係なく)。
最終結果は次のようになります。"I am a woman"
Javascriptでは文字列は不変です。「その場で」変更することはできません。
元の文字列を切り取り、すべてのピースから作成された新しい文字列を返す必要があります。
// replace the 'n'th character of 's' with 't'
function replaceAt(s, n, t) {
return s.substring(0, n) + t + s.substring(n + 1);
}
注意:一部のブラウザでは、組み込み型のString.prototype
関数を追加するとパフォーマンスが非常に悪くなるため、これを追加しませんでした。prototype
または、配列関数を使用して、この方法で行うこともできます。
var a='I am a man'.split('');
a.splice.apply(a,[7,1].concat('wom'.split('')));
console.log(a.join(''));//<-- I am a woman
string.replace()
Javascript に
はメソッドがあります: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace
PS
ところで、最初の例では、あなたが話している「m」のインデックスは 7 です。Javascript は 0 ベースのインデックスを使用します。