2017-03-06 48 views
-4

這是一條線,我寫來改變字符串爲大寫的第一個字符,爲什麼不工作?爲什麼在調用字符串中的字符時不能替換工作?

var before = "thisString"; 
    var after = before.replace(/before[0]/i, before[0].toUpperCase()); 
    console.log(after); 
    // output - thisString 

我預計輸出ThisString。 由下面線更換線上的兩個工作 before.replace(/ T/I, 「T」); 如果這個工作,爲什麼不工作。

+1

'/ [0]之前/''的 「before0」'字符串沒有別的 – Aaron

+0

相匹配的第一個字符正則表達式是''/^./。 – deceze

+2

如果你真的想用'.replace做到這一點()'有一個在建的正則表達式是沒有意義的。 'before.replace(之前[0],[0] .toUpperCase()之前)' – JJJ

回答

1

如果你只需要大寫的第一個字符,這將工作沒有涉足到正則表達式。

var before = "thisString"; 
 
var after = before[0].toUpperCase() + before.slice(1); 
 
console.log(after);

+0

是啊,我知道了這種方式,但我想知道這是爲什麼不工作,例如:before.replace(/ T /我,「T);工作,所以我有這個疑問 – flashbang