यह पॉल के जवाब से आशंका है, और रेगेक्स बनाम नॉन-रेगेक्स के बीच एक प्रदर्शन अंतर है
तुलना के लिए regex कोड बेंजामिन फ्लेमिंग का उत्तर लिया गया है।
JSPerf
केस-सेंसिटिव
रेगेक्स: 66,542 ऑपरेशंस / सेकंड
नॉन-रेगेक्स: 178,636 ऑपरेशंस / सेकंड (स्प्लिट - जॉइन)
Incase -sensitive Regex: 37,837 ऑपरेशंस / सेकंड
नॉन-रेगेक्स: 12,566 ऑपरेशंस / सेक ( इंडेक्सऑफिस - पावर पार्ट )
String.prototype.replaces = function(str, replace, incaseSensitive) {
if(!incaseSensitive){
return this.split(str).join(replace);
} else {
var strLower = this.toLowerCase();
var findLower = String(str).toLowerCase();
var strTemp = this.toString();
var pos = strLower.length;
while((pos = strLower.lastIndexOf(findLower, pos)) != -1){
strTemp = strTemp.substr(0, pos) + replace + strTemp.substr(pos + findLower.length);
pos--;
}
return strTemp;
}
};
var text = "A Quick Dog Jumps Over The Lazy Dog";
console.log(text.replaces("dog", "Cat", true));
.replace(searchMask, replaceMask)?