Python-Beispiel
snake_case in Python zu camelCase konvertieren
snake_case an Unterstrichen trennen, den ersten Token klein lassen und die folgenden kapitalisieren.
Python-Code
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"))
# userProfileImageUnterstriche am Rand und leere Tokens aus wiederholten Unterstrichen entfernen, damit normale snake_case-Eingaben deterministisch werden.
Python selbst nutzt meist snake_case; die Konvertierung ist besonders an Grenzen zu JSON, APIs und JavaScript-Frontends nützlich.
Zu beachtende Grenzfälle
- Die Akronymschreibweise hängt von der Konvention des Zielsystems ab.
- Verschachtelte dicts brauchen rekursive Key-Konvertierung, nicht nur einen String-Helper.
- Großbuchstaben, Bindestriche und Leerzeichen benötigen allgemeinere Tokenisierung.
- Bei festen API-Verträgen ist die Serialisierungs-/Deserialisierungsgrenze oft der klarere Ort.
Beispiel
| Vorher | Nachher |
|---|---|
| user_profile_image | userProfileImage |
| __user__profile__ | userProfile |
| api_response_url | apiResponseUrl |
| created_at | createdAt |
Python-Code
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) == expectedKonvertierung online testen
Nutze den Browser-Converter für schnelle Tests, Batch-Werte, Akronyme und gemischte Namensformate.
Erkannt: snake_case
camelCase-Ausgabe
userProfileImageUrl
Alle Namensformate
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/urlDie Konvertierung findet lokal in deinem Browser statt. Die Eingabe wird nicht an einen Conversion-Server gesendet.