Javascript 如何在Vue.js中将camel大小写转换为正确的大小写?
我正在从MongoDB集合中检索数据,并将数据填充到ag网格中。我希望列标题以适当的间距显示。最初,集合有文本行“businessAreaName”,我希望它看起来像“businessAreaName” 我使用正则表达式的概念,但无法找出适合于适当情况的表达式Javascript 如何在Vue.js中将camel大小写转换为正确的大小写?,javascript,regex,vue.js,vuejs2,ag-grid,Javascript,Regex,Vue.js,Vuejs2,Ag Grid,我正在从MongoDB集合中检索数据,并将数据填充到ag网格中。我希望列标题以适当的间距显示。最初,集合有文本行“businessAreaName”,我希望它看起来像“businessAreaName” 我使用正则表达式的概念,但无法找出适合于适当情况的表达式 headerName: x.replace(/_/g, ' ').replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.su
headerName: x.replace(/_/g, ' ').replace(/\w\S*/g, function (txt)
{
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
})
上面的表达式将我的输出命名为“Businessareaname”。感谢您的任何建议。您真正需要做的就是
const deCamelCase = str => str.replace(/[A-Z]/g, ' $&').replace(/^./, toUppercase);
const toUppercase = str => str.toUpperCase();
分解如下:
str => str.replace(/[A-Z]/g, ' $&')
这将匹配任何大写字符(仅限拉丁字母!),并将其替换为一个由空格组成的字符串,加上整个匹配字符串,编码为$&
。注意,我们需要使用/g
标志来确保匹配每个实例
str => str.replace(/^./, toUppercase)
这只匹配字符串中的第一个字符,并使用
toUppercase
函数替换它,为了可读性,我在单独的一行中定义了该函数。您真正需要做的就是
const deCamelCase = str => str.replace(/[A-Z]/g, ' $&').replace(/^./, toUppercase);
const toUppercase = str => str.toUpperCase();
分解如下:
str => str.replace(/[A-Z]/g, ' $&')
这将匹配任何大写字符(仅限拉丁字母!),并将其替换为一个由空格组成的字符串,加上整个匹配字符串,编码为$&
。注意,我们需要使用/g
标志来确保匹配每个实例
str => str.replace(/^./, toUppercase)
这只匹配字符串中的第一个字符,并使用
toUppercase
函数替换它,为了可读性,我在单独的一行中定义了该函数。类似的内容“businessarename”.replace(/([A-Z])/g,$1').replace(/^./,Function.call.bind(“.toUpperCase))
@blex所以$1是读取表达式中空格的逻辑?在/([A-Z])/g
正则表达式中,可以看到括号。这些括号创建了一个捕获组。它捕获每个大写字母,并将其替换为空格和字母,用$1
表示。如果表达式有多组括号,可以使用$1
,$2
…类似这样的方式访问它们“businessarename”.replace(/([A-Z])/g,$1').replace(/^./,Function.call.bind(“.toUpperCase))
@blex所以$1是读取表达式中空格的逻辑?在/([A-Z])/g
正则表达式中,可以看到括号。这些括号创建了一个捕获组。它捕获每个大写字母,并将其替换为空格和字母,用$1
表示。如果表达式有多组括号,则可以使用$1
,$2
访问它们……没问题。祝你的项目好运!没问题。祝你的项目好运!