Python 範例
在 Python 將 snake_case 轉為 camelCase
以底線切分 snake_case,第一個 token 保持小寫,後續 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,因此轉換特別適合 JSON、API 或 JavaScript frontend 的邊界。
需要考慮的邊界案例
- 縮寫輸出取決於消費系統的命名規則。
- 巢狀 dict 需要遞迴 key 轉換,不只是字串 helper。
- 大寫、連字號與空白需要更通用的 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轉換會在瀏覽器本機執行,輸入不會傳送到轉換伺服器。