You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中移除字符串连字符并将连字符后首字母大写

连字符转驼峰式字符串的正确实现

你写的代码存在几个明显问题:

  • 变量使用错误:newValue还没赋值就拿来调用方法,string变量根本没定义
  • 替换不彻底:replace('-','')只能替换第一个连字符,遇到多连字符的字符串(比如"a-b-c")就失效了
  • 逻辑错误:处理后会把整个字符串的首字母转大写,不符合原字符串首字母保留小写的需求

下面给两种靠谱的实现方式:

方法一:正则表达式(简洁高效)

利用正则全局匹配连字符后的小写字母,通过回调函数把字母转大写:

var value = "main-component";
var newValue = value.replace(/-([a-z])/g, (match, char) => char.toUpperCase());
console.log(newValue); // 输出 mainComponent

如果是旧环境不支持箭头函数,用普通函数写法:

var value = "main-component";
var newValue = value.replace(/-([a-z])/g, function(match, char) {
  return char.toUpperCase();
});

方法二:拆分拼接(直观易懂)

把字符串按连字符拆成数组,再把后面的每个部分首字母转大写后拼接:

var value = "main-component";
var parts = value.split('-');
// 第一个部分直接保留,后面的部分首字母大写后拼接
var newValue = parts[0] + parts.slice(1).map(part => {
  return part.charAt(0).toUpperCase() + part.slice(1);
}).join('');
console.log(newValue); // 输出 mainComponent

两种方法都能处理多连字符的情况,比如输入"hello-world-test",会输出"helloWorldTest"。

内容的提问来源于stack exchange,提问作者Sansara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:32:13