Javascript 如何在Vue.js中将camel大小写转换为正确的大小写?

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

我正在从MongoDB集合中检索数据,并将数据填充到ag网格中。我希望列标题以适当的间距显示。最初,集合有文本行“businessAreaName”,我希望它看起来像“businessAreaName”

我使用正则表达式的概念,但无法找出适合于适当情况的表达式

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
    访问它们……没问题。祝你的项目好运!没问题。祝你的项目好运!