zoukankan      html  css  js  c++  java
  • JS中实现replaceAll的方法

    第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 
    而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。 

    replace() 
    The replace() method returns the string that results when you replace text matching its first argument 
    (a regular expression) with the text of the second argument (a string). 
    If the g (global) flag is not set in the regular expression declaration, this method replaces only the first 
    occurrence of the pattern. For example, 

    var  s = "Hello. Regexps are fun." ;s = s.replace(/\./, "!" ); // replace first period with an exclamation pointalert(s);

    produces the string “Hello! Regexps are fun.” Including the g flag will cause the interpreter to 
    perform a global replace, finding and replacing every matching substring. For example, 

    var  s = "Hello. Regexps are fun." ;s = s.replace(/\./g, "!" ); // replace all periods with exclamation pointsalert(s);

    yields this result: “Hello! Regexps are fun!” 

    所以可以用以下几种方式.:
    string.replace(/reallyDo/g, replaceWith);
    string.replace(new RegExp(reallyDo, 'g'), replaceWith);

    string:字符串表达式包含要替代的子字符串。
    reallyDo:被搜索的子字符串。
    replaceWith:用于替换的子字符串。

    Js代码  收藏代码
    <script type="text/javascript"> 
    String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {  
      if (!RegExp.prototype.isPrototypeOf(reallyDo)) {  
          return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);  
      } else {  
          return this.replace(reallyDo, replaceWith);  
       } 
    } 
    </script>  
    
  • 相关阅读:
    C# 使用 sid 连接 Oracle(无需安装 Oracle 客户端)
    命令模式(Command Pattern)
    仅仅使用Google就完成了人生第一次破解
    GeoServer跨域问题
    List与DataTable相互转换
    GeoServer2.14.1修改端口
    坐标转换C#(Gcj02、wgs84、bd09互转)
    nginx启动报错(1113: No mapping for the Unicode character exists in the target multi-byte code page)
    C# 操作 Mongodb
    DocumentFormat.OpenXml导出word合并(文件被另一个进程占用)
  • 原文地址:https://www.cnblogs.com/myphoebe/p/2363651.html
Copyright © 2011-2022 走看看