2017-07-26 132 views
1

後刪除下劃線並利用信比方說,我收到一個字符串,像這樣:的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/) –

回答

2

您可以查找字符串或下劃線的開頭,並用大寫字符替換找到的部分。

var string= 'example_string_two'; 
 

 
console.log(string.replace(/(^|_)./g, s => s.slice(-1).toUpperCase()));

0

是的,你可以使用正則表達式的方法和簡單的替換下劃線,我給你舉個例子:

var string = "example_string" 
    string.replace('_',''); 

但你也可以做到這一點在傳統的JS,這是相當快,在它的自我 例如:

var string = "example_string" 
    string.split('_').join(''); 

如果您正在尋找更多的東西,請在下面評論。

0

/_([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'));