的Javascript:处理字符串
问题描述:
后删除下划线并利用信比方说,我收到一个字符串,像这样:的Javascript:处理字符串
var string = "example_string"
var otherString = "example_string_two"
而且我想操纵它来输出这样的:
string = "exampleString"
otherString = "ExampleStringTwo"
基本上,我想在字符串中找到任何下划线字符并将其删除。如果在下划线后面有一个字母,那么它应该被大写。
有没有一种快速的方法来做到这一点在正则表达式?
答
您可以查找字符串或下划线的开头,并用大写字符替换找到的部分。
var string= 'example_string_two';
console.log(string.replace(/(^|_)./g, s => s.slice(-1).toUpperCase()));
答
是的,你可以使用正则表达式的方法和简单的替换下划线,我给你举个例子:
var string = "example_string"
string.replace('_','');
但你也可以做到这一点在传统的JS,这是相当快,在它的自我 例如:
var string = "example_string"
string.split('_').join('');
如果您正在寻找更多的东西,请在下面评论。
答
像/_([a-zA-Z])/g
正则表达式会做与String.prototype.replace适当的回调函数。请参阅下面的代码片段。
function camelize (dasherizedStr) {
return dasherizedStr
.replace(/_([a-zA-Z])/g, function (m1, m2) {
return m2.toUpperCase()
});
}
console.log('example_string_foo:', camelize('example_string_foo'));
console.log('foo_Bar:', camelize('foo_Bar'));
也许,['.replace(/(?:^ | _)([AZ])/ g以下,函数($ 0,$ 1){返回$ 1.toUpperCase();} )'](https://jsfiddle.net/m8xb6hf8/) –