アドレスフィールドには、すべての単語の最初の文字を大文字にする必要があります。私は/\b./g
を使用しており、最終的に[email protected]*&;'
などの特殊文字の後の最初の文字も大文字になる問題が発生しました。すなわち、 King's Street
の代わりにKing'S Street
です。最初の文字を大文字にする正規表現
この動作を除外したり、表現全体をより最適に変更する方法はありますか?
アドレスフィールドには、すべての単語の最初の文字を大文字にする必要があります。私は/\b./g
を使用しており、最終的に[email protected]*&;'
などの特殊文字の後の最初の文字も大文字になる問題が発生しました。すなわち、 King's Street
の代わりにKing'S Street
です。最初の文字を大文字にする正規表現
この動作を除外したり、表現全体をより最適に変更する方法はありますか?
あなたの正規表現がされる(^|[ ])
で\b
を置き換える:/(^|[ ])./g
説明:definitionによって
\b
は:単語の先頭や末尾に一致するものを見つけるために使用されます。
(^|[ ])
は、文字列または
(^|[ ]).
は、文字と文字列の最初の文字が続くすべてのスペースにマッチする任意の空白文字の始まりと一致します。
サイドノート:
すべての空白に一致するように(^|\s)
を使用してください。
あなたの正規表現は次のようになります。/(^|\s)./g
は 'a'と' i'では動作しません。これをチェックしてください: ''私は学生です '' –
は 'őúéé'やその他のユニコード文字では動作しません。 –
JavaScript? –
正規表現をテストするための手順については、いくつかの優れたオンラインツールがあります。 https://regex101.com/ – jimmy