zoukankan      html  css  js  c++  java
  • Javascript中replace()的一些用法总结

    关于定义

      replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

    关于语法

    stringObject.replace(regexp/substr,replacement)

     

    关于参数

    参数 描述

    regexp/substr

    必需。规定子字符串或要替换的模式的 RegExp 对象。

    请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

    replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

     

    1、第一个参数regexp/substr,使用正则表达式时用全局标识符g,可以替换所有匹配的子串,否则只会匹配一次。

        例如: 

    var str = "aaaaa"; 
    var str1 = str.replace("a", "b");
    var str2 = str.replace(/a/g, "b");

      运行结果: str1 -> "baaaa",str2 -> "bbbbb"

    2、第二个参数replacement,可以是字符串或者function,也可以是$字符具有的特定的含义。

     

     

    字符替换文本
    $1、$2、...、$99 与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
    $& 与 regexp 相匹配的子串。
    $` 位于匹配子串左侧的文本。
    $' 位于匹配子串右侧的文本。
    $$ 直接量符号。

        a. function的例子:

    var str = "111222aa";
    str.replace(/(d{3})/g, function(word){
        return "b";
    });

         运行结果: "bbaa"

        b. $的例子

    var str = "1234567890";
    str.replace( /(d{3})(d{3})(d{4})/g, "$1-$2-$3" );

         运行结果: "123-456-7890"

    注: 大多时候是利用regexp和$的结合来实现需求,所以知道一些基本的正则表达式规则是有必要的。

  • 相关阅读:
    LL(1)文法的判断,递归下降分析程序
    消除左递归
    DFA最小化,语法分析初步
    非确定的自动机NFA确定化为DFA
    正规式、正规文法与自动机
    第03组 Alpha事后诸葛亮
    第03组 Alpha冲刺(4/4)
    第03组 Alpha冲刺(3/4)
    第03组 Alpha冲刺(2/4)
    第03组 Alpha冲刺(1/4)
  • 原文地址:https://www.cnblogs.com/MonkeyKingK/p/4847495.html
Copyright © 2011-2022 走看看