大写正则表达式,但不包括'(撇号)

问题描述 投票:0回答:1

我正在尝试为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排除在大写之外。

任何想法如何做到这一点?

谢谢

javascript regex function uppercase apostrophe
1个回答
1
投票

我将正则表达式更改为\s+\w,以便在空格和/或制表符之后搜索字母。

const upper = (input) => input.replace(/\s+\w/g, x => x.toUpperCase());
console.log(upper("My uncle's car is red"));
© www.soinside.com 2019 - 2024. All rights reserved.