mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-28 21:32:20 +00:00
docs(string-methods): edit replaceAll(), fixed #1018
This commit is contained in:
parent
861dd41fc5
commit
f8171643cd
@ -377,18 +377,41 @@ String.prototype.replaceAll(searchValue, replacement)
|
|||||||
`replaceAll()`的第二个参数`replacement`是一个字符串,表示替换的文本,其中可以使用一些特殊字符串。
|
`replaceAll()`的第二个参数`replacement`是一个字符串,表示替换的文本,其中可以使用一些特殊字符串。
|
||||||
|
|
||||||
- `$&`:匹配的子字符串。
|
- `$&`:匹配的子字符串。
|
||||||
- `` `$` ``:匹配结果前面的文本。
|
- `` $` ``:匹配结果前面的文本。
|
||||||
- `$'`:匹配结果后面的文本。
|
- `$'`:匹配结果后面的文本。
|
||||||
- `$n`:匹配成功的第`n`组内容,`n`是从1开始的自然数。
|
- `$n`:匹配成功的第`n`组内容,`n`是从1开始的自然数。这个参数生效的前提是,第一个参数必须是正则表达式。
|
||||||
- `$$`:指代美元符号`$`。
|
- `$$`:指代美元符号`$`。
|
||||||
|
|
||||||
|
下面是一些例子。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
|
// $& 表示匹配的字符串,即`b`本身
|
||||||
|
// 所以返回结果与原字符串一致
|
||||||
|
'abbc'.replaceAll('b', '$&')
|
||||||
|
// 'abbc'
|
||||||
|
|
||||||
|
// $` 表示匹配结果之前的字符串
|
||||||
|
// 对于第一个`b`,$` 指代`a`
|
||||||
|
// 对于第二个`b`,$` 指代`ab`
|
||||||
|
'abbc'.replaceAll('b', '$`')
|
||||||
|
// 'aaabc'
|
||||||
|
|
||||||
|
// $' 表示匹配结果之后的字符串
|
||||||
|
// 对于第一个`b`,$' 指代`bc`
|
||||||
|
// 对于第二个`b`,$' 指代`c`
|
||||||
|
'abbc'.replaceAll('b', `$'`)
|
||||||
|
// 'abccc'
|
||||||
|
|
||||||
|
// $1 表示正则表达式的第一个组匹配,指代`ab`
|
||||||
|
// $2 表示正则表达式的第二个组匹配,指代`bc`
|
||||||
|
'abbc'.replaceAll(/(ab)(bc)/g, '$2$1')
|
||||||
|
// 'bcab'
|
||||||
|
|
||||||
|
// $$ 指代 $
|
||||||
'abc'.replaceAll('b', '$$')
|
'abc'.replaceAll('b', '$$')
|
||||||
// 'a$c'
|
// 'a$c'
|
||||||
```
|
```
|
||||||
|
|
||||||
上面例子中,`$$`表示替换的文本是单个美元符号`$`。
|
|
||||||
|
|
||||||
`replaceAll()`的第二个参数`replacement`除了为字符串,也可以是一个函数,该函数的返回值将替换掉第一个参数`searchValue`匹配的文本。
|
`replaceAll()`的第二个参数`replacement`除了为字符串,也可以是一个函数,该函数的返回值将替换掉第一个参数`searchValue`匹配的文本。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
|
@ -505,10 +505,11 @@ function passthru(literals) {
|
|||||||
let i = 0;
|
let i = 0;
|
||||||
|
|
||||||
while (i < literals.length) {
|
while (i < literals.length) {
|
||||||
result += literals[i++];
|
result += literals[i];
|
||||||
if (i < arguments.length) {
|
if (i < arguments.length) {
|
||||||
result += arguments[i];
|
result += arguments[i];
|
||||||
}
|
}
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user