23 lines
859 B
JavaScript
23 lines
859 B
JavaScript
|
|
import { toString } from "../util/toString.mjs";
|
||
|
|
//#region src/compat/string/replace.ts
|
||
|
|
/**
|
||
|
|
* Replaces the matched pattern with the replacement string.
|
||
|
|
*
|
||
|
|
* @param {} target - The target string.
|
||
|
|
* @param {} pattern - The pattern to match.
|
||
|
|
* @param {} replacement - The replacement string or a function that returns the replacement string.
|
||
|
|
* @returns {string} The new string with the matched pattern replaced.
|
||
|
|
*
|
||
|
|
* @example
|
||
|
|
* replace('abcde', 'de', '123'); // 'abc123'
|
||
|
|
* replace('abcde', /[bd]/g, '-'); // 'a-c-e'
|
||
|
|
* replace('abcde', 'de', substring => substring.toUpperCase()); // 'abcDE'
|
||
|
|
* replace('abcde', /[bd]/g, substring => substring.toUpperCase()); // 'aBcDe'
|
||
|
|
*/
|
||
|
|
function replace(target, pattern, replacement) {
|
||
|
|
if (arguments.length < 3) return toString(target);
|
||
|
|
return toString(target).replace(pattern, replacement);
|
||
|
|
}
|
||
|
|
//#endregion
|
||
|
|
export { replace };
|