是否有可能在特定位置的字符串替換字符更換字符在同一個JavaScript字符串中的特定指數,jQuery的
讓我們說有說的字符串:"I am a man"
我想用字符串"wom"
替換7處的字符(不管原始字符是什麼)。
最終的結果應該是:"I am a woman"
是否有可能在特定位置的字符串替換字符更換字符在同一個JavaScript字符串中的特定指數,jQuery的
讓我們說有說的字符串:"I am a man"
我想用字符串"wom"
替換7處的字符(不管原始字符是什麼)。
最終的結果應該是:"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
中,則會非常糟糕。
有一個string.replace()
方法在Javascript: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace
附:
順便說一下,在你的第一個例子中,你所說的「m」的索引是7. Javascript使用基於0的索引。
這不符合OP的問題。他們希望通過索引訪問並以正則表達式替換string.replace()。這完全不同。 – jlafay
或者你可以這樣做,使用數組函數。
var a='I am a man'.split('');
a.splice.apply(a,[7,1].concat('wom'.split('')));
console.log(a.join(''));//<-- I am a woman
參見這裏http://stackoverflow.com/questions/1431094/how-do-i-replace-a-character-at-a-particular-index-in-javascript(你可以使用函數所選答案的字符串也適用於字符串)。 – Ixx
@lxx不,這個函數不好,因爲它替換了源字符串中提供的許多字符 - 這裏的OP只需要替換_one_字符。 – Alnitak
Alnitak是正確的。 –