Skip to content

Latest commit

 

History

History
80 lines (63 loc) · 1.9 KB

.verb.md

File metadata and controls

80 lines (63 loc) · 1.9 KB

Usage

const replace = require('{%= name %}');
const input = 'foo Foo FOO foo';

// Uses "gi" RegExp flags by default
console.log(replace(input, 'foo', 'bar')); //=> bar Bar BAR bar
console.log(replace(input, '[fF]oo', 'bar', 'g')); //=> bar Bar FOO bar
console.log(replace(input, 'foo', 'bar', 'i')); //=> bar Foo FOO foo
console.log(replace(input, 'foo', 'bar', '')); //=> bar Foo FOO foo

Signature

replace(input, substring, replacement[, flags]);

Params

  • input (String) The string to modify
  • substring (String) The "old" string to replace
  • replacement (String) The "new" string to use as a replacement.
  • flags (String) Optional RegExp flags to use. By default, gi is used.

Usage Examples

const input = `
  .alphaconfig.json
  AlphaWord
  Alpha
  ALPHA_FOO_BAR
`;

// Replace all occurrences of "alpha" with "beta"
console.log(replace(input, 'alpha', 'beta'));
// Replace only the first occurrence of "alpha" with "beta"
console.log(replace(input, 'alpha', 'beta', 'i'));
// Replace only when surrounded by word boundaries (capture group is unecessary and is only for clarity)
console.log(replace(input, '\\b(?:alpha)\\b', 'beta'));
// Replace all occurrences of "alpha" (optionally followed by "config") with "beta"
console.log(replace(input, 'alpha(config)*', 'beta'));
// Replace all occurrences of "alpha" (optionally followed by zero or more characters that are
// not a space, underscore, or dot)
console.log(replace(input, 'alpha([^\\s_.]*)', 'beta'));

Results in the following:

  .betaconfig.json
  BetaWord
  Beta
  BETA_FOO_BAR

  .betaconfig.json
  AlphaWord
  Alpha
  ALPHA_FOO_BAR

  .alphaconfig.json
  AlphaWord
  Beta
  ALPHA_FOO_BAR

  .beta.json
  BetaWord
  Beta
  BETA_FOO_BAR

  .beta.json
  beta
  Beta
  BETA_FOO_BAR