你必須創建一個新的字符串,因爲在JavaScript字符串是不可變的:
首先得到的每一個字分開:
var arrayOfstrings = s.split(" ");
然後你可以把每串像有自己的文字
花式方式:
var capFirstLetter = arrayOfStrings[index].replace(/^./, function (match) {
return match.toUpperCase();
});
這只是一個regex
。 /^./
表示字符串中的第一個字符。剩下的就是自我解釋。
或者這樣說:
var s = arrayOfStrings[index];
var s2 = s[0].toUpperCase()+ s.substr(0,1);
或更本真的跛腳方式
var s = arrayOfStrings[index];
var newS = "";
for(var i = 0; i < s.length; i++){
if(i == 0) newS+= s[0].toUpperCase();
else newS+= s[i];
}
當然,所有這些都可以在一個for循環來完成封頂所有這些,一起放回:
var s = "hello woorld hello world";
var arrayOfStrings = s.split(" ");
for(var i = 0; i < arrayOfStrings.length; i++){
arrayOfStrings[i]= arrayOfStrings[i].replace(/^./, function(match) {return match.toUpperCase();});
}
var s2 = arrayOfStrings.join(" ");
來源
2014-09-19 02:20:34
Jay
http://stackoverflow.com/questions/2332811/capitalize-words-in-string – lastr2d2 2014-09-19 02:17:16
字符串是在JavaScript中不可變的。 – 2014-09-19 02:20:30
@RaymondChen喜歡BOD的確定性? :) – 2014-09-19 02:29:18