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 - #$*%
    
  • 相关阅读:
    存储过程使用:
    java map,set,list
    Jbox帮助文档,默认的属性含义
    checkboxlist的说明及使用
    java中两种select方式,,一种从数据表中读取
    IE6下<a href="#">与<a href="javascript:void(0);">的区别
    用javascript如何在框架间传值
    a href=#与 a href=javascript:void(0) 的区别
    关于如何导入GPUImage
    GPUImage实现过程
  • 原文地址:https://www.cnblogs.com/pluslius/p/10262406.html
Copyright © 2011-2022 走看看