Schreibweise umwandeln
Der Case-Konverter schreibt Bezeichner in Ihrem Browser zwischen camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE und neun weiteren Konventionen um. Die Umwandlung selbst ist trivial; der schwierige Teil ist das Aufteilen der Eingabe in Wörter – XMLHttpRequest besteht aus drei Wörtern, user2fa ebenso, und ein Konverter, der das falsch macht, liefert eine Ausgabe, die niemand haben will.
Wie funktioniert Schreibweise umwandeln?
Jede Naming-Konvention ist dieselbe Wortliste, nur anders geschrieben; die Umwandlung ist also ein Problem – das Aufteilen der Eingabe in Wörter –, gefolgt von einem trivialen Zusammenfügen. Konverter unterscheiden sich ausschließlich im ersten Schritt.
Drei Wortgrenzen, geordnet nach der Häufigkeit, mit der sie übersehen werden
Ein Übergang von Klein- zu Großbuchstaben ist der offensichtliche Fall: userName besteht aus zwei Wörtern. Ein Akronym, dem ein Wort folgt, ist der Fall, bei dem die meisten Konverter scheitern: XMLHttpRequest ist XML Http Request, nicht ein Wort und auch nicht acht. Ein Übergang von Buchstabe zu Ziffer ist der Fall, an den niemand denkt: user2fa ist user 2 fa, und deshalb wird user2fa zu user_2_fa und nicht zu user2fa.
Trennzeichen – Leerzeichen, Unterstrich, Bindestrich, Punkt, Schrägstrich – werden alle gleich behandelt, und genau deshalb akzeptiert das Tool Eingaben in jeder Konvention, ohne dass Sie angeben müssen, welche es ist. Sie wählen kein Quellformat, weil es nichts zu wählen gibt.
Das türkische I
"I".toLocaleLowerCase() ergibt im Türkischen und Aserbaidschanischen "ı" – ein i ohne Punkt –, nicht "i". Das ist für diese Sprachen korrekt und für Code katastrophal: Jeder Vergleich gegen eine ASCII-Zeichenkette, der Groß- und Kleinschreibung ignoriert, schlägt fehl, und ein Bezeichner namens ID wird zu etwas, das ein Compiler nicht erkennt. Deshalb arbeitet die Groß-/Kleinschreibung hier standardmäßig unabhängig von der Locale; für Fließtext steht eine Locale-abhängige Variante zur Verfügung, wo sie die richtige Wahl ist.
Fließtext-Stile ändern die Groß- und Kleinschreibung, nicht die Struktur
Sentence case und Title case wirken auf den Text selbst statt auf seine einzelnen Wörter: Satzeichen, Abstände und vorhandene Akronyme bleiben erhalten. Title case lässt kleine Wörter – a, an, the, of, to und die übrigen – kleingeschrieben, sofern sie nicht am Anfang oder Ende stehen; diese Regel teilen die meisten englischen Stilguides, selbst wenn sie über die genaue Liste streiten.
Akronyme zu erhalten ist eine echte Entscheidung
user_id zu PascalCase ergibt UserId oder UserID – je nach den Konventionen Ihrer Sprache. Der Stilguide von Go verlangt die zweite Variante, der von C# die erste bei Akronymen mit zwei Buchstaben und die erste bei längeren. Keine Variante ist falsch, also ist es ein Umschalter und keine Entscheidung, die Ihnen abgenommen wird.
Eingabe
XMLHttpRequest
Umgewandelt
words XML | Http | Request camelCase xmlHttpRequest snake_case xml_http_request CONSTANT XML_HTTP_REQUEST kebab-case xml-http-request
Welche Optionen und Sonderfälle unterstützt Schreibweise umwandeln?
| Parameter | Typ | Standard | Verhalten & Sonderfälle |
|---|---|---|---|
| camelCase | camel | userFirstName | Variablen und Funktionen in JavaScript und Java. Erstes Wort kleingeschrieben, der Rest großgeschrieben. |
| PascalCase | pascal | UserFirstName | Typennamen in fast allen Sprachen: Klassen, Schnittstellen, React-Komponenten. |
| snake_case | snake | user_first_name | Bezeichner in Python und Ruby sowie Spaltennamen in SQL bei Postgres. |
| CONSTANT_CASE | constant | USER_FIRST_NAME | Umgebungsvariablen und Kompilierzeit-Konstanten in C, Java, Go und JavaScript. |
| kebab-case | kebab | user-first-name | URLs, CSS- benutzerdefinierte Eigenschaften und Klassennamen, npm-Pakete. Kein gültiger Bezeichner in den meisten Sprachen. |
| Train-Case | train | User-First-Name | HTTP-Header-Namen – Content-Type, X-Request-Id – die case-insensitiv sind, aber konventionell so geschrieben werden. |
| dot.case | dot | user.first.name | Verschachtelte Konfigurationsschlüssel, i18n-Nachrichtenschlüssel und Java-Paket-Namespaces. |
| path/case | path | user/first/name | URL-Pfadsegmente und Dateipfade, die aus einem Namen erstellt wurden. |
| Satzanfang groß | sentence | User first name | Prosa. Setzt den ersten Buchstaben jedes Satzes groß und lässt den Rest unverändert, sodass bestehende Akronyme erhalten bleiben. |
| Jedes Wort Groß | title | User First Name | Überschriften. Kleinwörter bleiben kleingeschrieben, es sei denn, sie stehen am Anfang oder Ende. |
| kleinbuchstaben | lower | user first name | Die gesamte Zeichenkette in Kleinbuchstaben, Zeichensetzung und Abstände bleiben unverändert. |
| GROSSBUCHSTABEN | upper | USER FIRST NAME | Die gesamte Zeichenkette in Großbuchstaben. |
| aBwEcHsElNd | alternating | uSeR fIrSt nAmE | Abwechselnder Fall, Zeichen für Zeichen. |
| uMGEKEHRT | inverse | uSER fIRST nAME | Der Fall jedes Buchstabens wird umgekehrt. |
Häufig gestellte Fragen
Warum wurde XMLHttpRequest in drei Wörter aufgeteilt?
Weil es drei sind. Die Regel lautet: Eine Folge von Großbuchstaben, auf die ein Groß- und ein Kleinbuchstabe folgen, beendet an dieser Grenze das Wort: XMLH-ttp wird zu XML | Http. Ohne diese Regel erhalten Sie entweder ein Wort – xmlhttprequest – oder acht, bei denen jeder Großbuchstabe ein neues beginnt: x_m_l_http_request. Beides ist falsch, und beides kommt häufig vor.
Muss ich angeben, in welchem Format meine Eingabe vorliegt?
Nein, und dafür gibt es bewusst keine Option. Jedes Trennzeichen wird gleich behandelt und jede Groß-/Kleinschreibungs-Grenze erkannt, sodass camelCase, snake_case, kebab-case, dot.case und normaler Fließtext alle in dieselbe Wortliste zerfallen. Gemischte Eingaben funktionieren ebenfalls – wichtig, wenn Sie eine Liste umwandeln, die jemand aus drei Codebasen zusammengestellt hat.
Warum gibt es eine Locale-Option für die Kleinschreibung?
Weil "I".toLocaleLowerCase() im Türkischen und Aserbaidschanischen "ı" ergibt – ein i ohne Punkt. Das ist sprachlich korrekt und für Bezeichner verheerend: Ein ASCII-Vergleich gegen "id" schlägt fehl, und Code, der Nutzereingaben für den Vergleich mit einem Schlüsselwort kleinschreibt, funktioniert für türkische Nutzer nicht mehr. Standardmäßig ist die Option aus, weil hier üblicherweise Code verarbeitet wird; für Fließtext in diesen Sprachen ist sie an.
UserId oder UserID?
Das hängt von der Sprache ab. Der Stilguide von Go verlangt UserID und schreibt jedes Kürzel groß – APIURL, HTTPServer. C# und Java verwenden UserId und schreiben nur den ersten Buchstaben eines Akronyms mit mehr als zwei Zeichen groß. Keine Variante ist richtiger; nehmen Sie die, die zum umgebenden Code passt. Genau deshalb ist das ein Umschalter.
Kann es eine ganze Datei voller Bezeichner umwandeln?
Ja, eine pro Zeile – jede Zeile wird unabhängig umgewandelt, sodass Sie eine Spalte aus einem Schema oder einer Konfiguration einfügen können und das Ganze komplett zurückbekommen. Es ist kein Umbenennen mit Codeverständnis: Das Tool weiß nicht, welche Wörter in einer Zeile Bezeichner sind und welche zur Syntax gehören, und behandelt deshalb die ganze Zeile als einen einzigen Namen.
Wird mein Text hochgeladen?
Nein. Es ist reine Zeichenkettenverarbeitung und läuft in Ihrem Browser. Die Bezeichner, die Nutzer hier umwandeln, beschreiben interne Systeme – Tabellennamen, Feldnamen, Feature-Flags –, was nicht wirklich geheim ist, aber auch nichts, was man ohne Grund an einen unbekannten Server weitergibt.