Transform stream that performs text search and replacements

npm install replacer
2 downloads in the last month


Build Status

Node.js transform stream that performs text based search and replacements. It performs correctly over chunk boundaries, and is efficient when performing multiple search / replacements over a stream of text.


npm install replacer


Streaming search and replace

Let's say we have the following text file:

// story.txt
The cow ate the pig.
The cow ate the hen.
The cow ate the horse.

To replace all occurrences of 'cow' with 'dog' we could do this:

var fs = require('fs');
var path = require('path');
var Replacer = require('replacer');

var filePath = path.resolve(__dirname, 'story.txt');
  .pipe(new Replacer('cow', 'dog'))

This will print:

The dog ate the pig.
The dog ate the hen.
The dog ate the horse.

Multiple replacements

To perform multiple replacements:

var replacements = [
  { search: 'cow', replace: 'dog' },
  { search: 'pig', replace: 'fox' },
  { search: 'hen', replace: 'hog' }

  .pipe(new Replacer(replacements))

This would print:

The dog ate the fox.
The dog ate the hog.
The dog ate the horse.

See Also

Replacer was insipired by replacestream.

npm loves you