javascript - 将任何字符串转换为驼峰大小写

标签 javascript regex camelcasing

如何使用 javascript 正则表达式将字符串转换为驼峰式大小写?

EquipmentClass 名称设备类名设备类名设备类名

都应该变成: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();
  });
}

关于javascript - 将任何字符串转换为驼峰大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970525/

相关文章:

javascript - AngularJS 我如何观看 $viewValue 而不是 ngModel?

javascript - jQuery load() 函数不起作用

javascript - 时间格式验证正则表达式,军事或 AM/PM,但不能两者兼而有之

仅限 Eclipse Contentassist 完整缩写

javascript - 在 JavaScript 中努力处理继承和原型(prototype)设计 - 原型(prototype)方法不像 "should"那样工作

javascript - 使用Javascript使输入框在用户输入后3秒内可编辑

python - 为什么我找不到与 python 正则表达式匹配的所有模式?

Java 正则表达式匹配之前和之后的所有内容

php - camelCase to dash - 两个大写字母相邻

Elasticsearch : search results on clicking on Hashtag