Skip to content

Replace one string with another string in a Node.js Stream.

License

Notifications You must be signed in to change notification settings

almost/string-replace-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

NPM

Build Status

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 tom@almostobsolete.net

About

Replace one string with another string in a Node.js Stream.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published