如何应用正则表达式将字符串转换为驼峰大小写,并从字符串Javascript中删除所有特殊字符
我正在将字符串转换为驼峰大小写,任何特殊字符(数字都可以)都应该被删除如何应用正则表达式将字符串转换为驼峰大小写,并从字符串Javascript中删除所有特殊字符,javascript,regex,Javascript,Regex,我正在将字符串转换为驼峰大小写,任何特殊字符(数字都可以)都应该被删除 var str= "NOT_AVAI"; // o/p to be"Not Avai" var str= "HEY0-therr";// o/p to be"Hey0 Therr" 我可以将它们转换为camelcase: return str.toLowerCase().replace(/(?:(^.)|(\s+.))/g, function(match) { r
var str= "NOT_AVAI"; // o/p to be"Not Avai"
var str= "HEY0-therr";// o/p to be"Hey0 Therr"
我可以将它们转换为camelcase:
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);
试试这个:
const cC=str=>str.replace(
/[^a-z0-9]*([a-z0-9])([a-z0-9]*)/ig,
(m,u,l)=>u.toUpperCase()+l.toLowerCase()
);
console.log(cC(“NOT_avi”);//o/p为“不可用”
console.log(cC(“HEY0 therr”);//o/p为“Hey0 Therr”
您可以使用/[^A-Za-z0-9]+/g
正则表达式查找所有非字母和数字字符,然后将其删除。