为json结果分割Javascript camel case

时间:2013-12-05 13:45:41

标签: javascript jquery regex

在javascript json列名中,我想拆分驼峰案例字符串,例如CustomerID => Customer ID

代码正常工作但分为Customer I D

 var title = field.replace(/([a-zA-Z][a-z]*)/g, " $1");

我不想分割缩写词或连续的Caps,我怎样才能实现这一点。

如果它是一个小写字母,我想把第一个字母大写。

3 个答案:

答案 0 :(得分:3)

您可以将函数传递给replace()并调用toUpperCase

"custID".replace(/([a-z])([A-Z])/g,"$1 $2").replace(/^([a-z])/, function(a){ return a.toUpperCase();});

答案 1 :(得分:1)

= field.charAt(0).toUpperCase() + field.replace(/([a-z])(?=[A-Z])/g, "$1 ").slice(1);

答案 2 :(得分:0)

您可以使用:

var title = field
              .replace(/([a-z]+)([A-Z]+)/g, "$1 $2")  // "aaAA" => "aa AA"
              .replace(/([A-Z]+)([a-z]+)/g, "$1 $2") // "AAaa" => "AA aa"
              .replace(/^([a-z])/g, function(x, y) { return y.toUpperCase(); }); // caps first char

如果field"aaaAAAbbDDD",则上述内容将返回"Aaa AAA bb DDD"