チャレンジ
先日GoogleのJavaスタイルガイドを読んでいて、アルゴリズムを見つけて任意の文字列をcamelCase表記に変換しました。このチャレンジでは、コードゴルフチャレンジへの非常に競争力のあるJava提出物を作成するときに頭の中でこれらすべてを実行したくないため、このアルゴリズムを実装する必要があります。
注:アルゴリズムを少し調整しました。以下に指定されているものを使用する必要があります。
アルゴリズム
任意の入力文字列で開始し、次の操作をそれに適用します。
- すべてのアポストロフィを削除
`'
- で分割して結果を単語に分割します
- 英数字でも数字でもない文字
[^a-zA-Z0-9]
- 両側が小文字に囲まれている大文字。
abcDefGhI jk
例えば収量abc Def Ghi jk
- 英数字でも数字でもない文字
- すべての単語を小文字にします。
- 最初の単語を除くすべての単語の最初の文字を大文字にします。
- すべての単語を元に戻します。
その他の注意事項
- 入力には、印刷可能なASCIIのみが含まれます。
- 数字が単語の最初の文字である場合は、そのままにして、この単語の他の文字を大文字にしないでください。
- 入力には常に少なくとも1つの文字が含まれます。
ルール
- 機能または完全なプログラムが許可されます。
- 入出力のデフォルト規則。
- 標準の抜け穴が適用されます。
- これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。
テストケース
「プログラミングパズルとコードゴルフ」->「programmingPuzzlesCodeGolf」 「XML HTTPリクエスト」->「xmlHttpRequest」 「iOSでIPv6をサポートしますか?」-> "supportsIpv6OnIos" "SomeThing w1th、apo'strophe's and 'punc] tuation"-> "someThingW1thApostrophesAndPuncTuation" 「特別なものなし」->「特別なものなし」 "5pecial ca5e"-> "5pecialCa5e" "1337"-> "1337" 「1337-spEAk」->「1337Speak」 「whatA mess」->「whataMess」 「abcD」->「abcd」 「a」->「a」 「B」->「b」
ハッピーコーディング!
snake_case
&PascalCase
snake_case
、Pythonのせいで@Martijn 。FORTHにもありFORTHCASE
、APLにありますunreadable in any case
ApostropheS
出力に含まれている必要があります。