将任何字符串转换为骆驼盒
2022-08-30 00:27:32
如何使用javascript正则表达式将字符串转换为骆驼大小写?
EquipmentClass name
或 或 或 或Equipment className
equipment class name
Equipment Class Name
应该都变成:.equipmentClassName
如何使用javascript正则表达式将字符串转换为骆驼大小写?
EquipmentClass name
或 或 或 或Equipment className
equipment class name
Equipment Class Name
应该都变成:.equipmentClassName
查看您的代码,您只需两个调用即可实现它:replace
function camelize(str) {
return str.replace(/(?:^\w|[A-Z]|\b\w)/g, function(word, index) {
return index === 0 ? word.toLowerCase() : word.toUpperCase();
}).replace(/\s+/g, '');
}
camelize("EquipmentClass name");
camelize("Equipment className");
camelize("equipment class name");
camelize("Equipment Class Name");
// all output "equipmentClassName"
编辑:或者通过一次调用,捕获空白也在 .replace
RegExp
function camelize(str) {
return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) {
if (+match === 0) return ""; // or if (/\s+/.test(match)) for white spaces
return index === 0 ? match.toLowerCase() : match.toUpperCase();
});
}
如果有人使用lodash,有一个_.camelCase()
函数。
_.camelCase('Foo Bar');
// → 'fooBar'
_.camelCase('--foo-bar--');
// → 'fooBar'
_.camelCase('__FOO_BAR__');
// → 'fooBar'