On a single call, perform multiple replace operations on a Javascript/Typescript string.
This project is open to updates by its users, I ensure that PRs are relevant to the community. In other words, if you find a bug or want a new feature, please help us by becoming one of the contributors ✌️ ! See the contributing section.
Please consider:
- Buying me a coffee ☕
- Supporting me on Patreon 🏆
- Starring this repo on Github 🌟
Import multiReplace
:
// Node
const { multiReplace } = require('@simplyhexagonal/multi-replace');
// ES6/Typescript
import { multiReplace } from '@simplyhexagonal/multi-replace';
// Browser
<script src="https://cdn.jsdelivr.net/npm/@simplyhexagonal/multi-replace@latest/dist/multi-replace.min.js"></script>
<script>
const { multiReplace } = MultiReplace;
</script>
Define one or more replace patterns:
const firstReplacePattern = ['Greetings', async () => 'hello'];
const secondReplacePattern = [/stranger/g, 'friend'];
// A replace pattern is an array where the first item is the "matcher"
// and the second item is the "replacement".
// A matcher can be either a string or a regular expression.
// A replacement can be either a string or a function.
Use multiReplace
to perform the replacements over your content:
const content = 'Greetings stranger, I am also a stranger';
const result = await multiReplace(
content,
[
firstReplacePattern,
secondReplacePattern,
],
);
console.log(result);
// Hello friend, I am also a friend
If you need to perform replacements synchronously simply use multiReplaceSync
:
// Node
const { multiReplaceSync } = require('@simplyhexagonal/multi-replace');
// ES6/Typescript
import { multiReplaceSync } from '@simplyhexagonal/multi-replace';
// Browser
<script src="https://cdn.jsdelivr.net/npm/@simplyhexagonal/multi-replace@latest/dist/multi-replace.min.js"></script>
<script>
const { multiReplaceSync } = MultiReplace;
</script>
Yes, thank you! This plugin is community-driven, most of its features are from different authors.
Please update the tests and don't forget to add your name to the package.json
file.
Thanks goes to these wonderful people (emoji key):
Jean Lescure 🚧 💻 📓 |
Copyright (c) 2021-Present MultiReplace Contributors.
Licensed under the Apache License 2.0.