簡體   English   中英

正則表達式為大寫所有單詞,但不包括 '(撇號)

[英]Regex to Upper Case all words but exclude ' (apostrophe)

我正在嘗試為所有字符串單詞構建一個大寫的函數,但我遇到了以下問題:

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"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM