的Javascript:处理字符串

问题描述:

后删除下划线并利用信比方说,我收到一个字符串,像这样:的Javascript:处理字符串

var string = "example_string" 
var otherString = "example_string_two" 

而且我想操纵它来输出这样的:

string = "exampleString" 
otherString = "ExampleStringTwo" 

基本上,我想在字符串中找到任何下划线字符并将其删除。如果在下划线后面有一个字母,那么它应该被大写。

有没有一种快速的方法来做到这一点在正则表达式?

+0

也许,['.replace(/(?:^ | _)([AZ])/ g以下,函数($ 0,$ 1){返回$ 1.toUpperCase();} )'](https://jsfiddle.net/m8xb6hf8/) –

您可以查找字符串或下划线的开头,并用大写字符替换找到的部分。

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'));