在javascript中,将催眠后的字符串大写

在javascript中,将催眠后的字符串大写,javascript,string,split,Javascript,String,Split,我想知道如何使用javascript将hypen后字符串中的第一个字母大写。如果没有hypen str,则应使用小写 var结果=大写(“js脚本”); 函数大写(str){ 返回str.split(“-”[1].charAt(0).toUpperCase()+str.slice(1); } 预期产出: js脚本=>js脚本 汤姆=>汤姆 考虑改用正则表达式-匹配-和字母字符,并替换为-和大写的单词字符: const capitalize=(str)=>str.replace(/-([a-z

我想知道如何使用javascript将hypen后字符串中的第一个字母大写。如果没有hypen str,则应使用小写

var结果=大写(“js脚本”);
函数大写(str){
返回str.split(“-”[1].charAt(0).toUpperCase()+str.slice(1);
}
预期产出:

js脚本=>js脚本
汤姆=>汤姆

考虑改用正则表达式-匹配
-
和字母字符,并替换为
-
和大写的单词字符:

const capitalize=(str)=>str.replace(/-([a-z])/g,([u,char)=>'-'+char.toUpperCase());
log(大写(“js脚本”);

控制台日志(大写(“foo-bar-baz”)您可以简单地使用regex和replace方法

-[a-z]

  • -
    -匹配字符
    -
  • [a-z]
    -匹配从a到z的任意字符
函数大写(str){
返回typeof str=='string'?str.replace(/-([a-z])/gi,(m,g1)=>`-${g1.toUpperCase()}`):str
}
log(大写(“js脚本”))

console.log(大写(“tom”))
您可以使用regex和look back来执行此操作:

console.log(大写(“js脚本”);
函数大写(str){
返回str.replace(/(?text.toUpperCase());
}
您可以这样做

函数大写(str){
设arrspilt=str.split(“-”)
让joinArray=[];

对于(var i=0;i可能的重复和使用
[a-z]
\w
更好的选择将
\u和数字
更改为大写,没有任何意义,您不需要转义连字符