zoukankan      html  css  js  c++  java
  • javascript的 replace() 方法的使用讲解

    String.prototype.replace()


    The replace() method returns a new string with some or all matches of a pattern replaced by a replacement.
    The pattern can be a string or a RegExp, and the replacement can be a string or a function to be called for each match.
    语法:
      str
    .replace(regexp|substr, newSubStr|function[, flags])

    Parameters

    regexp (pattern)
    RegExp object or literal. The match is replaced by the return value of parameter #2.
    substr (pattern)
    String that is to be replaced by newSubStr. It is treated as a verbatim string and is notinterpreted as a regular expression.
    newSubStr (replacement)
    The String that replaces the substring received from parameter #1. A number of special replacement patterns are supported; see the "Specifying a string as a parameter" section below.
    function (replacement)
    A function to be invoked to create the new substring (to put in place of the substring received from parameter #1). The arguments supplied to this function are described in the "Specifying a function as a parameter" section below.
    例子:
    例1:
    var str = 'Twas the night before Xmas...';
    var newstr = str.replace(/xmas/i, 'Christmas');
    console.log(newstr);  // Twas the night before Christmas...
    

    例2:

    var re = /apples/gi;
    var str = 'Apples are round, and apples are juicy.';
    var newstr = str.replace(re, 'oranges');
    console.log(newstr);  // oranges are round, and oranges are juicy.
    

    例3:

    var re = /(w+)s(w+)/;
    var str = 'John Smith';
    var newstr = str.replace(re, '$2, $1');
    console.log(newstr);  // Smith, Joh
    

    例4:

    function styleHyphenFormat(propertyName) {
      function upperToHyphenLower(match) {
        return '-' + match.toLowerCase();
      }
      return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
    }
    

    例5:

    function replacer(match, p1, p2, p3, offset, string) {
      // p1 is nondigits, p2 digits, and p3 non-alphanumerics
      console.log(arguments);
      return [p1, p2, p3].join(' - ');
    }
    var newString = 'abc12345#$*%aaa'.replace(/([^d]*)(d*)([^w]*)/, replacer);
    

      

  • 相关阅读:
    HDU 3853:LOOPS(概率DP)
    HDU 4405:Aeroplane chess(概率DP入门)
    中国剩余定理模板
    HDU 5768:Lucky7(中国剩余定理 + 容斥原理)
    欧几里得和拓展欧几里得模板
    HDU 5025:Saving Tang Monk(BFS + 状压)
    HDU 1728:逃离迷宫(BFS)
    HDU 5795:A Simple Nim(博弈)
    HDU 5724:Chess(博弈 + 状压)
    HDU 5818:Joint Stacks(stack + deque)
  • 原文地址:https://www.cnblogs.com/oxspirt/p/5460979.html
Copyright © 2011-2022 走看看