對於地址字段,我需要每個單詞的第一個字符爲大寫。我一直在使用/\b./g
這最終導致一個問題,即在特殊字符(如[email protected]*&;'
等)之後的首字符也被大寫。即。 King'S Street
而不是King's Street
。正則表達式大寫第一個字符
有沒有辦法調整該表達式來排除該行爲或將整個表達式更改爲最佳?
對於地址字段,我需要每個單詞的第一個字符爲大寫。我一直在使用/\b./g
這最終導致一個問題,即在特殊字符(如[email protected]*&;'
等)之後的首字符也被大寫。即。 King'S Street
而不是King's Street
。正則表達式大寫第一個字符
有沒有辦法調整該表達式來排除該行爲或將整個表達式更改爲最佳?
與(^|[ ])
你的正則表達式替換\b
將是:/(^|[ ])./g
說明:
\b
通過definition:用來查找匹配一個單詞的開頭或結尾。
(^|[ ])
將匹配字符串或任何空格字符
(^|[ ]).
將每一個空間後跟一個字符和字符串的第一個字符匹配的開始。
旁註:
使用(^|\s)
每一個空格相匹配。
你的正則表達式爲:/(^|\s)./g
不適用於'a'和'i'。檢查:'「我是學生」' –
將不能與'őúéá'或任何其他unicode字符。 –
JavaScript,對吧? –
有一些很棒的在線工具,包含測試你的正則表達式的指令,例如https://regex101.com/ – jimmy