replacer

Transform stream that performs text search and replacements

npm install replacer
2 downloads in the last week
2 downloads in the last month

replacer

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.

Installation

npm install replacer

Usage

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');
fs.createReadStream(filePath)
  .pipe(new Replacer('cow', 'dog'))
  .pipe(process.stdout);

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' }
];

fs.createReadStream(filePath)
  .pipe(new Replacer(replacements))
  .pipe(process.stdout);

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