将破折号后面的字母大写并删除破折号

发布于 2024-11-07 01:06:09 字数 238 浏览 3 评论 0原文

如果你没有从标题中猜到,我正在尝试使用 JS 将 CSS 属性语法转换为 JS 语法。这意味着我想获取输入“margin-top”并将其转换为“marginTop”。我知道这可以通过几行和替换函数轻松完成,但我想知道正则表达式是否有一个更简单、更紧凑的解决方案。

所以,我的问题是我将使用什么正则表达式来替换 -\w ,不带破折号且单词的第一个字母大写。如果这不可能,那么使用替换功能的最简单的解决方案是什么?

感谢您的任何帮助。

If you haven't guessed from the title, I'm trying to convert CSS property syntax to JS syntax using JS. That means I want to take the input 'margin-top' and convert it to 'marginTop'. I know that this could be done easily with a few lines and the replace function, but I was wondering if regex would have a simpler, more compact solution.

So, my question is what regular expression would I use to replace -\w with no dash and the first letter of the word uppercased. If this happens to be impossible, what would be the most minimalistic solution with the replace function?

Thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

祁梦 2024-11-14 01:06:09

如果您在 jQuery 源 中搜索 camelCase,你会发现这个函数:(

function camelCase (string) {
    return string.replace( /-([a-z])/ig, function( all, letter ) {
        return letter.toUpperCase();
    });
}

除了其中的正则表达式和回调是单独定义的)。

If you search the jQuery source for camelCase, you'll find this function:

function camelCase (string) {
    return string.replace( /-([a-z])/ig, function( all, letter ) {
        return letter.toUpperCase();
    });
}

(except that in there, the regex and the call back are defined separately).

你的心境我的脸 2024-11-14 01:06:09

使用捕获 -. 的全局正则表达式来替换每个出现的情况,如下所示:

'margin-top-something'.replace(/(-.)/g, x=> x[1].toUpperCase())

Use the global regex capturing -. to replace each occurence, like this:

'margin-top-something'.replace(/(-.)/g, x=> x[1].toUpperCase())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文