文字列の正規化を行う必要があるコードを書いています。特定の文字列をキャメル ケース表現に変換したいと考えています (まあ、少なくとも最善の推測では)。例:
"the quick brown fox" => "TheQuickBrownFox"
"the_quick_brown_fox" => "TheQuickBrownFox"
"123The_quIck bROWN FOX" => "TheQuickBrownFox"
"the_quick brown fox 123" => "TheQuickBrownFox123"
"thequickbrownfox" => "Thequickbrownfox"
これらの例からアイデアを得ることができるはずだと思います。すべての特殊文字 ('、"、!、@、. など) を取り除き、すべての単語を大文字にし (単語はスペース、_ または - で定義されます)、先頭の数字を削除します (末尾/内部は問題ありませんが、難易度によっては、この要件は重要ではありません)。
これを達成するための最良の方法は何かを考え出そうとしています。私の最初の推測は正規表現ですが、私の正規表現のスキルはせいぜい下手なので、どこから始めればよいかわかりません。
私の他のアイデアは、データをループして解析し、単語に分解し、それぞれを解析し、そのように文字列を再構築することです。
または、私がそれについて行くことができる別の方法はありますか?