zoukankan      html  css  js  c++  java
  • String.replace使用技巧

    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+)(+)/这个来匹配, p1就是匹配的 a+,  p2 就是匹配的 +。
    ...	
    
    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 - #$*%
    
  • 相关阅读:
    cs11_c++_lab4a
    cs11_c++_lab3
    cs11_c++_lab2
    cs11_c++_lab1
    Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)
    无备份恢复(归档模式)
    rman datafile恢复(归档模式)
    GHOST(幽灵)重大漏洞
    Windows Linux 之间rsync同步CODE文件
    Centos 6.5 SNMP客户端安装及配置版本net-snmp-5.7.3
  • 原文地址:https://www.cnblogs.com/pluslius/p/10262406.html
Copyright © 2011-2022 走看看