所需功能:
var myString = "123a4 1b234";
console.log(myString.allInstancesOfLetter().something();
//"123A4 1B234"
有没有一种方法可以不必将所有26个字母组成的数组等复杂化?
编辑:toUpperCase()引起混乱,我并没有真正想到这种相互作用,我只是选择一个随机函数。
答案 0 :(得分:4)
使用replace
方法时,可以将回调函数设置为第二个参数,该方法将应用于设置的RegExp中的每个事件。
const myString = "123a4 1b234";
const result = myString.replace(/[a-z]/g, function(char) {
return char.toUpperCase();
});
console.log(result);
答案 1 :(得分:3)
toUpperCase
不适用于数字,所以
"123a4 1b234".toUpperCase()
按预期工作。
答案 2 :(得分:3)
您只需要String.prototype.toUpperCase()
var myString = "123a4 1b234";
console.log(myString.toUpperCase());