javascript - 如何应用正则表达式将字符串转换为驼峰式大小写并从字符串 Javascript 中删除所有特殊字符
问题描述
我正在将字符串转换为驼峰式大小写,并且应删除任何特殊字符(数字没问题)。
var str= "NOT_AVAI"; // o/p to be"Not Avai"
var str= "HEY0-therr";// o/p to be"Hey0 Therr"
我能够将它们转换为驼峰式:
return str.toLowerCase().replace(/(?:(^.)|(\s+.))/g, function(match) {
return match.charAt(match.length-1).toUpperCase();
});
但不确定如何调整正则表达式以删除这些特殊字符的想法?谢谢!
解决方案
正如@tim-hunter 所说,你可以这样:
var str = "NOT_AVAI-linus";
// convert everything into lowercase
var result = str.toLowerCase()
.replace(/(^|[^a-z0-9]+?)[a-z0-9]/ig, function (match) {
console.log(match);
if(match.length === 1) {
// the 1st char
return match.toUpperCase();
}
// char after special char
return ' ' + match[1].toUpperCase()
});
console.log(result);
推荐阅读
- ios - 使用自定义流布局时 UICollectionView 不显示页脚
- html - 如何使用 CSS 模糊元素周围的所有内容?
- c++ - 带外循环的内循环迭代
- python - Python API 请求 - For 循环导致索引错误
- android - Jumio “我准备好了”按钮无法正常工作 Android(Playstore)
- java - Java 枚举接受的值
- excel - 使用具有动态数组公式语法的 INDIRECT 函数 (Excel O365)
- javascript - 无法使用 clearInterval() 停止函数的执行
- dictionary - 在snakemake中使用字典键和相关值作为通配符
- c# - 从 DataGridView 中用户添加的行中获取值