How do I replace a character at a particular index in JavaScript?

Santhosh picture Santhosh · Sep 16, 2009 · Viewed 584.2k times · Source

I have a string, let's say Hello world and I need to replace the char at index 3. How can I replace a char by specifying a index?

var str = "hello world";

I need something like

str.replaceAt(0,"h");

Answer

Cem Kalyoncu picture Cem Kalyoncu · Sep 16, 2009

In JavaScript, strings are immutable, which means the best you can do is to create a new string with the changed content and assign the variable to point to it.

You'll need to define the replaceAt() function yourself:

String.prototype.replaceAt = function(index, replacement) {
    return this.substr(0, index) + replacement + this.substr(index + replacement.length);
}

And use it like this:

var hello = "Hello World";
alert(hello.replaceAt(2, "!!")); // Should display He!!o World