replace

概要Description

签名

s.replace(pattern: RegExp | string, replacement: string | Replacer): string

type Replacer = function(match: string, groups...: string[], offset: number, originalString: string): string 

功能

在字符串 s 中 使用 正则表达式 pattern 查找匹配项,或者 使用 字符串 pattern 查找匹配项

之后将匹配的结果 替换为 replacement 字符串,或者 使用 replacement 函数 对匹配项进行定制化转换

广告

案例Examples

正常情况

替换第一个

使用 字符串作为 pattern 时,只会替换 第一个出现的匹配项

1 2 =
s = 'ZZAX!';result = s.replace('Z', 'z');'zZAX!'
替换全部

使用 正则表达式作为 pattern 并且使用 g 标签时,会替换所有匹配项

1 2 =
s = 'ZZAX!';result = s.replace(/Z/g, 'z');'zzAX!'

string 作为 replacement 参数

特殊字符表格

可在 replacement 内使用以下特殊字符达到特效

符号意义
$$等效于 $
$&等效于 被匹配的字符串
$`等效于 被匹配的字符串的左边的一个字符
$'等效于 被匹配的字符串的右边的一个字符
$n等效于 第 n 个 正则表达式匹配小组
案例
1 2 =
s = '[!!!]';result = s.replace('!!!', "-$`-$&-$'-")'[-[-!!!-]-]'

Replacer 函数 作为 replacement 参数

函数类型
type Replacer = function(match: string, groups...: string[], offset: number, originalString: string): string 

其中

参数意义
match等效于 被匹配的字符串
groups之类会出现很多参数,分别是每一个 正则表达式匹配小组
offset匹配的字符串 最左侧的字符 在 原始字符串 的 位置索引
originalString原始 字符串
案例
1 2 3 4 5 6 7 8 9 < < < < <
s = '暗中观察 [哈哈]';result = s.replace(/\[([^\]]+)\]/g, function(match, group1, offset, originalString) { console.log(match); console.log(group1); console.log(offset); console.log(originalString); return '😀';})console.log('result: ' + result);[哈哈]哈哈5暗中观察 [哈哈]result: 暗中观察 😀
广告

ZZAX 微信公众

文档一更新,立刻告诉你