【问题标题】:Javascript replace() with $1Javascript replace() 与 $1
【发布时间】:2016-07-15 05:48:45
【问题描述】:

输入字符串是“thisIsSpinalTap”。我用它的小写版本替换了每个大写字母。我还想在字母前添加一个 - 以获得脊柱病例效果“this-is-spinal-tap”。

我写了下面这行代码:

str = str.replace(/([A-Z])/g, '-').toLowerCase();

这将每个大写字母替换为 - 以生成“this-s-pinal-ap”。这不是预期的效果。

我读到使用 $1 可以产生我想要的效果,它确实做到了。

str = str.replace(/([A-Z])/g, '-$1').toLowerCase();

$1 如何将 - 附加到字符串,而不是替换大写字母?

【问题讨论】:

标签: javascript


【解决方案1】:

$1 是正则表达式中捕获的第一个组。

所以在这种情况下,-$1 将替换与 - 匹配的内容,然后是在 ([A-Z]) 中捕获的大写字母。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 2013-11-03
    • 2022-11-21
    • 1970-01-01
    相关资源
    最近更新 更多