You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP →
Socket
Book a DemoInstallSign in
Socket

@rpearce/flexible-string-replace

Package Overview
Dependencies
Maintainers
0
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rpearce/flexible-string-replace

đź§¶ Safely replace any part of a string with anything. Example: useful for replacing substrings with JSX in React

1.1.0
latest
Source
npmnpm
Version published
Weekly downloads
235
-47.89%
Maintainers
0
Weekly downloads
 
Created
Source

flexible-string-replace

Archived and public domain now (LICENSE).

Coverage Status

Installation

$ npm i @rpearce/flexible-string-replace

or

$ yarn add @rpearce/flexible-string-replace

Usage

flexible-string-replace mirrors the functionality of String.prototype.replace with the following exceptions:

  • you can transform your match however you see fit
  • the return value is [ * ] – an Array of whatever type your Replacement is or returns. For example, if you pass it a function, then you'll get back a list of strings as well as your match transformations, whereas if you pass a string, you'll get back simply a list of strings with your replacement applied
  • the argument order is (Pattern, Replacement, String) so that if you'd like to curry the function and partially apply the first two arguments, you can then reuse those over and over again with different strings

Note: while these examples use some JSX, your matching function can return whatever you like.

import flexibleStringReplace from '@rpearce/flexible-string-replace'

const str = 'The rain in Spain falls mainly on the plain. Spain is nice.'
const searchText = 'spain'
const replacement = (match, offset) => <mark key={offset}>{match}</mark>


// usage with RegExp pattern
const pattern = new RegExp(searchText, 'igm')
flexibleStringReplace(pattern, replacement, str)
// [
//   'The rain in ',
//   <mark>Spain</mark>,
//   ' falls mainly on the plain. ',
//   <mark>Spain</mark>,
//   ' is nice.'
// ]


// usage with RegExp pattern and string Replacement
const pattern = 'Spain'
flexibleStringReplace(pattern, 'foobar', str)
// [
//   'The rain in ',
//   'foobar',
//   ' falls mainly on the plain. ',
//   'foobar',
//   ' is nice.'
// ]


// usage with String pattern (no match)
const pattern = 'spain'
flexibleStringReplace(pattern, replacement, str)
// ["The rain in Spain falls mainly on the plain. Spain is nice."]


// usage with String pattern (match)
const pattern = 'Spain'
flexibleStringReplace(pattern, replacement, str)
// [
//   'The rain in ',
//   <mark>Spain</mark>,
//   ' falls mainly on the plain. Spain is nice.',
// ]

Keywords

string-replace

FAQs

Package last updated on 26 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts