string-replace-stream
v0.0.2
Published
Replace one string with another in a Node.JS Stream
Downloads
3,909
Maintainers
Readme
string-replace-stream
Replace one string with another string in a Node.js Stream. Only supports straight string replacement, no regexs. Handles replacing strings that span multiple chunks in the stream correctly.
Written by Thomas Parslow (almostobsolete.net and tomparslow.co.uk) for IORad (iorad.com) and released with their kind permission.
Install
npm install --save string-replace-stream
Examples
import stringReplaceStream from 'string-replace-stream';
var all = [];
fs.createReadStream('data.txt')
.pipe(stringReplaceStream("awesome", "rather good"))
.pipe(process.stdout);
Buffers are converted to strings before search and replace is performed. You can specify an encoding (it defaults to utf8):
stringReplaceStream("awesome", "rather good"), {encoding: "ascii"})
Other Libaries
There are a couple of other similar libraries on NPM already:
replacestream: More fully featured, supports regular expressions. Can be a lot slower depending on the input (in my testing it does particulary badly with large streams in which the search string only seldom appears)
stream-replace: Much faster (about 5 times in my testing) but doesn't always give the right answer. Can't handle a search string that spans 3 or more chunks.
Contributing
Fixed or improved stuff? Great! Send me a pull request through GitHub or get in touch on Twitter @almostobsolete or email at [email protected]