对于地址字段,我需要每个单词的第一个字符为大写。我一直在使用/\b./g
,这最终导致了一个问题,即!@*&;'
之类的特殊字符之后的第一个字符也是大写的。即。 King'S Street
代替King's Street
。
有没有办法调整该表达式以排除该行为或更改整个表达式更优化?
答案 0 :(得分:2)
将\b
替换为(^|[ ])
你的正则表达式将是:/(^|[ ])./g
<强>解释强>
definition之前的 \b
:用于在单词的开头或结尾找到匹配项。
(^|[ ])
将匹配字符串的开头或任何空格字符
(^|[ ]).
将匹配每个空格,后跟一个字符和字符串的第一个字符。
旁注:
使用(^|\s)
匹配每个空格。
你的正则表达式将是:/(^|\s)./g
答案 1 :(得分:1)