Javascript 如何将任意字符串转换为有效的React ComponentName

Javascript 如何将任意字符串转换为有效的React ComponentName,javascript,reactjs,regex,string,replace,Javascript,Reactjs,Regex,String,Replace,我正在尝试使用正则表达式从任意字符串自动生成React组件名称 其思想是将字符串转换为PascalCase,同时确保第一个字符始终是字母 一些测试用例: toComponentCase('hi there') // HiThere toComponentCase(' lorem ipsum _ 123?') // LoremIpsum123 toComponentCase('_lor?em ipSum doll?er') // LoremIpSumDollEr toComponentCase('

我正在尝试使用正则表达式从任意字符串自动生成React组件名称

其思想是将字符串转换为PascalCase,同时确保第一个字符始终是字母

一些测试用例:

toComponentCase('hi there') // HiThere
toComponentCase(' lorem ipsum _ 123?') // LoremIpsum123
toComponentCase('_lor?em ipSum doll?er') // LoremIpSumDollEr
toComponentCase('123 some_component') // SomeComponent

我提出了一个紧凑的解决方案,在技术上似乎是正确的:

功能到组件数据库(文本){
返回文本。替换(/(?:^[^A-Za-z]*|[\W_]+)(。?/g,(u,c)=>c?c.toUpperCase():“”)
}
log(toComponentCase('hithere'))
日志(toComponentCase('lorem ipsum 123?'))
console.log(toComponentCase(“颜色”em ipSum doll?er'))
log(toComponentCase('123 some_component'))