将任何字符串转换为驼峰式大小写 [英] Converting any string into camel case

查看:67
本文介绍了将任何字符串转换为驼峰式大小写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I convert a string into camel case using javascript regex?

EquipmentClass name设备类别名称 or 设备类别名称 or 设备类别名称

都应该变成:equipmentClassName.

推荐答案

看你的代码,你只需要两次replace调用就可以实现:

Looking at your code, you can achieve it with only two replace calls:

function camelize(str) {
  return str.replace(/(?:^w|[A-Z]|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 中也捕获空格.

Or in with a single replace call, capturing the white spaces also in the RegExp.

function camelize(str) {
  return str.replace(/(?:^w|[A-Z]|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();
  });
}

这篇关于将任何字符串转换为驼峰式大小写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆