我有一个阵列
var myarr = [ "color - black", "color - blue", "color - Red" ]
Run Code Online (Sandbox Code Playgroud)
我想要用":"替换" - "并大写该数组中每个单词的第一个字母:
var myarr = [ "Color: Black", "Color: Blue", "Color: Red" ]
Run Code Online (Sandbox Code Playgroud)
我试试
for (var i = 0; i < myarr.length; i++) {
myarr[i] = myarr[i][0].toUpperCase()+myarr[i].replace(/ -/g, ":").substring(1);
}
Run Code Online (Sandbox Code Playgroud)
但它只适用于第一个单词
您可以使用另一个正则表达式在函数中为其大写字母交换字母.这样的东西会起作用:
String.prototype.capitalize = function() {
return this.replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
};
var myarr = [ "color - black", "color - blue", "color - Red" ]
for(var i=0; i < myarr.length; i++) {
myarr[i] = myarr[i].capitalize().replace(/ -/g, ":");
}
console.log(myarr)
Run Code Online (Sandbox Code Playgroud)
你可以看到它在这里工作:https ://jsfiddle.net/igor_9000/c7tqraLo/这里原来的SO问题:大写字母串字
| 归档时间: |
|
| 查看次数: |
3844 次 |
| 最近记录: |