将转换应用于捕获的组

时间:2015-07-08 18:47:41

标签: javascript

我可以将转换应用于捕获的组并在ES5中执行替换吗?

我想将虚线名称(例如'foo-bar)转换为camelcase(例如'fooBar')。

function camelify(str) {
  return (str.replace(/(\-([^-]{1}))/g, '$2'.toUpperCase()));
}

1 个答案:

答案 0 :(得分:1)

'$2'.toUpperCase(),您传入的第二个参数相当于'$2',除了删除破折号之外什么都不做。

您正在寻找callback parameter option in replace

function camelify(str) {
  return str.replace(/-([^-])/g, function(match, $1) {
    return $1.toUpperCase();
  });
}