首页 > 解决方案 > 如何应用正则表达式将字符串转换为驼峰式大小写并从字符串 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();
                        });

但不确定如何调整正则表达式以删除这些特殊字符的想法?谢谢!

标签: javascriptregex

解决方案


正如@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);

推荐阅读