大小寫轉換工具(kebab-case・camelCase・snake_case,免費)

免費線上一鍵批次互相轉換 kebab-case、camelCase、PascalCase、snake_case 等主流命名規範。方便程式設計時改寫變數名、檔名、環境變數名。

命名規則(大小寫)的轉換是什麼

程式設計中經常需要為多個單字串接而成的名稱命名。其區隔方式有 camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE 等流派,該用哪一種依語言與用途而定。本工具會將輸入的字串拆解為單字,一次轉換為所有主要命名規則並並列顯示。

單字的區隔不僅依符號,也會由大寫字母的位置來判定。像 XMLParser 這類大寫連續的首字母縮寫,也能正確拆為 XMLParser。若混有日文或符號,則只會擷取英數字的部分,因此僅輸入日文時結果會是空的。

大小寫轉換的使用方法

  1. 輸入想轉換的字串 以哪一種命名規則書寫都無妨。hello_worldhelloWorld 會以相同方式解讀。
  2. 選擇目標格式 主要命名規則的轉換結果會以一覽呈現。請確認想使用的格式所在的那一列。
  3. 複製後使用 可用各列最右端的按鈕複製到剪貼簿,直接貼入編輯器即可。

用好本工具的小技巧

  • XMLParser 這樣的首字母縮略詞(連續大寫字母)也能正確拆分為 XMLParser 後再轉換。
  • 點選每行右側的按鈕即可立即複製到剪貼簿。
  • 不同語言和場景所使用的命名規範也不同:JavaScript/Java 的變數名常用 camelCase,類名用 PascalCase,Python 的變數名和函式名用 snake_case,環境變數用 CONSTANT_CASE,URL 和 CSS 類名則多用 kebab-case
  • 即使夾雜中文或其他符號,也只會提取其中的英數字單詞進行轉換(中文部分會被排除在轉換結果之外)。

大小寫轉換的實用場景

把程式碼移植到其他語言

例如由 Python 改寫為 JavaScript 時,可將 snake_case 的變數名一次改為 camelCase,避免手動輸入的打字錯誤。

銜接 API 與程式碼的命名

JSON 的鍵為 snake_case 而程式碼端為 camelCase 的組合相當常見。可立即取得對應的名稱。

建立環境變數名稱

將設定項目的名稱轉換為 CONSTANT_CASE,即可直接作為環境變數使用。

決定 URL 或 CSS 類別名稱

將功能名或元件名轉換為 kebab-case,可用於路徑或類別名稱的命名。

命名規則的術語

camelCase
第一個單字以小寫開頭,其後各單字字首大寫的寫法。用於 JavaScript 或 Java 的變數名。
PascalCase
所有單字字首皆大寫的寫法。在許多語言中用於類別名或型別名。
snake_case
以底線串接單字並全部小寫的寫法。是 Python 變數名與函式名的標準。
kebab-case
以連字號串接單字的寫法。多數語言無法將其用於識別字,因此用於 URL 或 CSS 類別名稱。
CONSTANT_CASE
全部大寫並以底線串接的寫法。用於常數名或環境變數名。
首字母縮寫
如 XML 或 HTML 這類將各詞字首排列而成的詞。由於大寫連續,在單字區隔的判定上處理方式各異。

常見問題

可以。轉換時只會提取並分割英數字單詞,中文部分不會包含在結果中。如果輸入內容全部是中文,則結果為空。

數字會被當作與英文字母相同的單詞的一部分處理。例如 version2Update 會被拆分為 version2Update

不會。轉換處理全部在瀏覽器內完成,輸入內容不會以任何形式傳送到伺服器。
工具君

閒話 ― 為什麼各程式語言的命名規範不同

snake_case 據說源自 20 世紀 70 年代的 C 語言社群。當時的終端和編輯器環境中,大小寫字母有時並不容易區分,於是用下劃線分隔單詞的寫法反而更受歡迎,逐漸成為一種慣例。這一傳統後來被 Python 和 Ruby 強烈繼承了下來,至今仍是它們程式碼風格的標誌之一。

另一方面,camelCase 據說源於 20 世紀 80 年代的 Smalltalk,以及後來 Java 的設計。Java 的設計者們選擇了比下劃線更緊湊、書寫起來也更快的 camelCase 作為標準風格,而這一做法後來又被 JavaScript 原封不動地繼承了下去,一路影響到今天的前端開發習慣。

有意思的是,在大多數程式語言中,kebab-case 反而不能用作變數名,原因很簡單——- 會與減法運算子衝突,編譯器無法區分二者。正因如此,它主要活躍在 URL、CSS 類名、命令列引數等並非程式語言識別符號的場合,倒也算是"各得其所"。