はじめに
Python では、ケバブケースの文字列は、各単語がハイフンで区切られた文字列です。たとえば、"hello-world" はケバブケースの文字列です。このチャレンジでは、与えられた文字列をケバブケースに変換する関数を書くことが求められます。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Python では、ケバブケースの文字列は、各単語がハイフンで区切られた文字列です。たとえば、"hello-world" はケバブケースの文字列です。このチャレンジでは、与えられた文字列をケバブケースに変換する関数を書くことが求められます。
to_kebab_case(s)
という名前の Python 関数を書きましょう。この関数は文字列 s
を入力として受け取り、その文字列をケバブケースのバージョンで返します。関数は次の手順を実行する必要があります。
r"(_|-)+"
を使用して、-
または _
をすべてスペースに置き換えます。str.lower()
を使って小文字に変換します。-
を区切り文字として結合します。from re import sub
def kebab(s):
return '-'.join(
sub(r"(\s|_|-)+"," ",
sub(r"[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+",
lambda mo: ' ' + mo.group(0).lower(), s)).split())
kebab('camelCase') ## 'camel-case'
kebab('some text') ## 'some-text'
kebab('some-mixed_string With spaces_underscores-and-hyphens')
## 'some-mixed-string-with-spaces-underscores-and-hyphens'
kebab('AllThe-small Things') ## 'all-the-small-things'
このチャレンジでは、Python で文字列をケバブケースに変換する方法を学びました。re.sub()
を使って -
または _
をスペースに置き換え、re.sub()
を使って文字列内のすべての単語を一致させ、str.lower()
を使って小文字に変換し、str.join()
を使って -
を区切り文字としてすべての単語を結合しました。