Javascript搜索和替换

时间:2009-02-04 17:26:49

标签: javascript regex replace

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

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

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

2 个答案:

答案 0 :(得分:6)

只需省略参数,即使用:

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

以下是一个示例:http://ejohn.org/blog/search-and-dont-replace/

答案 1 :(得分:6)

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";
});