Python の例
Python で snake_case を camelCase に変換
snake_case をアンダースコアで分割し、最初は小文字、残りの token を大文字始まりにして連結します。
Python コード
def snake_to_camel(value: str) -> str:
parts = [part for part in value.strip("_").split("_") if part]
if not parts:
return ""
head, *tail = parts
return head.lower() + "".join(part[:1].upper() + part[1:].lower() for part in tail)
print(snake_to_camel("user_profile_image"))
# userProfileImage先頭/末尾のアンダースコアや連続アンダースコアによる空 token を除去し、通常の snake_case を安定して変換します。
Python 自体は snake_case が一般的なので、JavaScript frontend、API、JSON との境界で特に有用です。
考慮すべきエッジケース
- 略語の出力は接続先システムの規則に依存します。
- ネストした dict は文字列 helper だけではなく再帰 key 変換が必要です。
- 大文字、ハイフン、空白を含む値はより一般的な tokenization が必要です。
- 固定 API contract なら serialization/deserialization 境界で変換する方が明確です。
例
| 変換前 | 変換後 |
|---|---|
| user_profile_image | userProfileImage |
| __user__profile__ | userProfile |
| api_response_url | apiResponseUrl |
| created_at | createdAt |
Python コード
cases = {
"user_profile_image": "userProfileImage",
"__user__profile__": "userProfile",
"api_response_url": "apiResponseUrl",
"created_at": "createdAt",
}
for value, expected in cases.items():
assert snake_to_camel(value) == expectedオンラインで変換を試す
ブラウザ版ツールで単発確認、バッチ、略語処理、混在した命名形式をテストできます。
検出: snake_case
camelCase 出力
userProfileImageUrl
すべての命名形式
camelCase
userProfileImageUrlPascalCase
UserProfileImageUrlsnake_case
user_profile_image_urlkebab-case
user-profile-image-urlCONSTANT_CASE
USER_PROFILE_IMAGE_URLdot.case
user.profile.image.urlpath/case
user/profile/image/url変換はブラウザ内で行われ、入力は変換サーバーへ送信されません。