問題
キャメルケースをケバブケースに変換する関数を記述せよ。
ただし、関数の戻り値(文字列)は小文字のみ含むものとする。
例
- kebabize('camelsHaveThreeHumps') // camels-have-three-humps
- kebabize('camelsHave3Humps') // camels-have-humps
- kebabize('myCamelCasedString') // my-camel-cased-string
- kebabize('myCamelHas3Humps') // my-camel-has-humps
- kebabize('SOS') // s-o-s
- kebabize('42') // ''(空文字)
解答
def kebabize(s): return ''.join(c if c.islower() else '-' + c.lower() for c in s if c.isalpha()).strip('-')