【问题标题】:Javascript search and replaceJavascript 搜索和替换
【发布时间】:2010-10-05 11:21:44
【问题描述】:

我想在 Javascript(伪代码)中执行以下操作:

myString.replace(/mypattern/g, f(currentMatch));

也就是说,替换字符串不是固定的,而是当前匹配的函数。

【问题讨论】:

    标签: javascript regex replace


    【解决方案1】:

    MDC 声称您可以做到这一点:

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

    或更笼统地说:

    myString.replace(/mypattern/g, function(match){
        return "Some function of match";
    });
    

    【讨论】:

    • MDC 是我的第一个选择,但当我尝试查看它时,它却失败了。我发现的其他网站只有简单的替换示例。
    • 这是在 JavaScript 1.3 中引入的。来自 Netscape 4 的旧 JS 文档对于检查 JavaScript 结构很有用,因为几乎所有这些都构成了具有“DOM 级别 0”的老式 JS,它将在任何地方得到支持。见例如。太阳的镜子docs.sun.com/source/816-6408-10/contents.htm
    【解决方案2】:

    只需省略参数,即使用这个:

    myString.replace(/mypattern/g, f);
    

    这是一个例子:http://ejohn.org/blog/search-and-dont-replace/

    【讨论】:

      猜你喜欢
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      相关资源
      最近更新 更多