[英]HOw to apply regex for converting a string to camel case and remove all special chars from the string-Javascript
I am converting a string to camel case and any special chars, (numbers are ok) should be removed.我正在将字符串转换为驼峰式大小写,并且应该删除任何特殊字符(数字都可以)。
var str= "NOT_AVAI"; // o/p to be"Not Avai"
var str= "HEY0-therr";// o/p to be"Hey0 Therr"
I'm able to convert them into camelcase:我可以将它们转换为驼峰式:
return str.toLowerCase().replace(/(?:(^.)|(\s+.))/g, function(match) {
return match.charAt(match.length-1).toUpperCase();
});
but not sure how to tweak the regex in order to remove these special chars ideas??但不确定如何调整正则表达式以删除这些特殊字符的想法? Thanks!
谢谢!
As @tim-hunter says, you can make it like this:正如@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);
Try this:尝试这个:
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_AVAI")); // o/p to be"Not Avai" console.log(cC("HEY0-therr")); // o/p to be"Hey0 Therr"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.