我正在尝试为UpperCase构建所有字符串的函数,但以下内容存在问题:
String.prototype.upper = function() {
return this.replace(/[^a-zA-Z0-9]+(.)/g, chr => chr.toUpperCase())
}
let str = "My uncle's car is red";
console.log(str.upper())
//My Uncle'S Car Is Red
我需要在撇号后将S排除在大写之外。
任何想法如何做到这一点?
谢谢
我将正则表达式更改为\s+\w
,以便在空格和/或制表符之后搜索字母。
const upper = (input) => input.replace(/\s+\w/g, x => x.toUpperCase());
console.log(upper("My uncle's car is red"));