使用函数而不是正则表达式替换

时间:2014-07-24 07:14:04

标签: javascript string replace

我在一本书中找到了以下代码:

上一个例子:

'iixxxixx'.replace(/i+/g,'($1)')

下一个例子:

您还可以通过函数计算替换:

function repl(all){
  return '('+all.toUpperCase()+')'
}
'axbbyyxaa'.repl(/a+|b+/g,replacement)
//logs ' (A) x (BB) yyx (AA) '

替换可能像($ 1)

但是当我测试它是返回undefined不是一个函数。

我认为缺少了什么,正确的做法是什么?

1 个答案:

答案 0 :(得分:1)

我很确定你的书上写着

function repl(all){
  return '(' + all.toUpperCase() + ')';
}

'axbbyyxaa'.replace(/a+|b+/g, repl);

//logs '(A)x(BB)yyx(AA)'