pluslius

relace

replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。

使用字符串作为参数


变量名	代表的值
$$	插入一个 "$"。
$&	插入匹配的子串。
$`	插入当前匹配的子串左边的内容。
$\'	插入当前匹配的子串右边的内容。
$n	假如第一个参数是 RegExp对象,并且 n 是个小于100的非负整数,那么插入第 n 个括号匹配的字符串。提示:索引是从1开始
var re = /(\w+)\s(\w+)/;
var str = "John Smith";
var newstr = str.replace(re, "$2, $1");
// Smith, John
console.log(newstr);

指定一个函数作为参数

变量名	代表的值
match	匹配的子串。(对应于上述的$&。)
p1,p2,  假如replace()方法的第一个参数是一个RegExp 对象,则代表第n个括号匹配的字符串。(对应于上述的$1,$2等。)例如, 如果是用 /(\a+)(\b+)/这个来匹配, p1就是匹配的 \a+,  p2 就是匹配的 \b+。
...	

offset	匹配到的子字符串在原字符串中的偏移量。(比如,如果原字符串是“abcd”,匹配到的子字符串是“bc”,那么这个参数将是1)

string	被匹配的原字符串。
function replacer(match, p1, p2, p3, offset, string) {
  // p1 is nondigits, p2 digits, and p3 non-alphanumerics
  return [p1, p2, p3].join(\' - \');
}
var newString = \'abc12345#$*%\'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString);  // abc - 12345 - #$*%

分类:

技术点:

相关文章:

  • 2022-03-06
  • 2021-12-04
  • 2021-11-30
  • 2021-12-05
  • 2021-12-18
  • 2021-12-29
  • 2021-12-10
猜你喜欢
  • 2022-02-09
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2021-07-21
  • 2022-12-23
相关资源
相似解决方案