rep-ultra

String replace all substr, max speed, faster than regex based replaceall() in most cases.


Keywords
replace, string
License
QPL-1.0
Install
npm install rep-ultra@0.0.2

Documentation

rep-ultra

The goal is to make a very fast string replace function without the problems of RegExp based String.replace().

Common way to attend the problem is to unescape both what-to-find and with-what-to-replace, because both handle special characters. That kind of solution is known as replaceAll().

https://github.com/leecrossley/replaceall

In most cases rep() is faster than replaceAll. Especially when you need to call the function many times and RegExp initialization time counts. It is slower though it the case when the amount of the replaced characters is huge, say 50% of all characters in the source string and in very small chunks. When there are few occurences to replace or the replacement string is big rep() can be times faster than replaceAll().

Come back later as I plan to post few charts to show the performance details.

http://stackoverflow.com/questions/31187452/why-abc-replaceb-gives-aac http://stackoverflow.com/questions/28739385/replace-all-occurrences-in-a-string-and-avoid-regexp-escaping

You can install with npm i rep-ultra, or just copy-paste this code:

// replace a with b in s
function rep(s,a,b) {
    var x = 0
    var x1 = s.indexOf(a, x)
    if (x1 < 0) return s
    var R = '', L = s.length, AL = a.length
    while (x < L) {
        var o = s.substr(x, x1-x)
        R += o
        R += b
        x = x1 + AL
        x1 = s.indexOf(a, x)
        if (x1 < 0) break
    }
    R += s.slice(x)
    return R
}