Insensitive ReplaceAll:
12 053 033 replaces by 1 sec
for ReplaceAll("Dog Jumps Over The Lazy Dog", "dog", "Cat")
Example:
function ReplaceAll(base,told,tnew) { // replace insensitive
if (told=="") {return base;}
var u=base.toLowerCase();
var t=told.toLowerCase();
var ss=""; var p=-1; var i=0;
p=u.indexOf(t);
if (p>-1) {
let mLen=told.length;
while (p>=0) {
ss+=base.substr(0,p)+tnew;
i=p+mLen;
base=base.substr(i);
u=u.substr(i);
p=u.indexOf(t);
}
ss+=base; //fix bug
return ss;
}
return base;
}
/*Test:
function loopThrough() {
for (let i = 0; i < 60000000; i++) {
let s=ReplaceAll("Dog Jumps Over The Lazy Dog","dog","Cat");
}
}
$(document).ready(function(){
$("button").click(function(){
//alert(ReplaceAll("Dog Jumps Over The Lazy Dog","dog", "Cat"));
document.getElementById("demo").innerHTML = '...';
let startTime = new Date();
loopThrough();
let endTime = new Date();
let timeElapsed = endTime - startTime;
document.getElementById("demo").innerHTML = "elapsed times: " + timeElapsed + " milliseconds.";
*/