Javascript搜索和替换

Sla*_*ast 7 javascript regex replace

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

myString.replace(/mypattern/g, f(currentMatch));
Run Code Online (Sandbox Code Playgroud)

也就是说,替换字符串不是固定的,而是当前匹配的功能.

Kon*_*lph 6

只需省略参数,即使用:

myString.replace(/mypattern/g, f);
Run Code Online (Sandbox Code Playgroud)

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


Aar*_*paa 6

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

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

或者更一般地说:

myString.replace(/mypattern/g, function(match){
    return "Some function of match";
});
Run Code Online (Sandbox Code Playgroud)