命名格式轉換

在 camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、dot.case、Title Case 等格式之間轉換文本,13 種格式隨輸入即時更新。

一次性把任意文本轉換為 13 種命名風格。 貼上變數名、標題或整句話都可以。工具會先把輸入拆分成單詞——無論它原本是什麼寫法——再按各種常見風格重新拼接。

命名風格及其適用場景

拆詞是怎麼做的

在重新排版之前,必須先把輸入拆成單詞。本工具會在小寫字母后緊跟大寫字母處插入分界,在縮寫結束、新單詞開始處插入分界(因此 HTTPServer 會拆成 HTTP + Server),並在所有非字母數字字元處斷開。得到的是一箇中性的單詞列表,可以按任意風格重新拼接。這意味著你可以直接貼上 snake_case,一步得到正確的 camelCase

主要命名風格

  • camelCase(小駝峰) —— JavaScript 與 Java 的變數,多數 Web API 的 JSON 鍵。
  • PascalCase(大駝峰) —— C#、Java、TypeScript 的類與型別名;React 元件名。
  • snake_case(下劃線) —— Python 和 Ruby 的變數與函式,PostgreSQL 的列名。
  • CONSTANT_CASE(常量) —— 幾乎所有語言的編譯期常量與環境變數。
  • kebab-case(短橫線) —— URL slug、CSS 類名、HTML 屬性、npm 包名。
  • dot.case(點分) —— 配置項鍵名、國際化翻譯鍵、Java 包名。
  • Title Case(標題式) —— 標題與介面文案。

為什麼一致性很重要

同一個程式碼庫裡混用多種風格會實實在在地消耗時間。資料庫裡叫 user_id、API 層叫 userId、模型裡又叫 UserID,意味著每一處邊界都需要一次對映,而每一次對映都可能藏著 bug。多數團隊會為每一層固定一種風格,並在邊界處顯式轉換。

Unicode 處理

拆詞使用支援 Unicode 的字元類,因此帶重音的拉丁字母、希臘字母和西里爾字母都會被當作字母而非分隔符。中文、日文等沒有大小寫的文字會原樣通過,因為不存在可套用的大小寫形式。

開源說明:拆詞與格式化基於 JavaScript 原生 Unicode 正則實現,未使用第三方庫。

常見問題

可以直接貼上已經是駝峰的文本嗎?
可以。拆詞邏輯能識別駝峰凸起和縮寫邊界,因此任意輸入風格都能一步正確轉換為任意輸出風格,無需中間步驟。
縮寫是怎麼處理的?
連續大寫後面跟著「大寫+小寫」時,會在最後一個大寫字母前斷開。因此 parseHTTPResponse 會拆成 parse + HTTP + Response,而不是一個長詞。
標題大小寫和句首大寫有什麼區別?
標題大小寫會把每個單詞首字母都大寫;句首大寫只把第一個單詞首字母大寫,其餘轉為小寫,就像普通句子那樣。
對中文或日文有效嗎?
這些文字沒有大小寫之分,字元會原樣輸出。但基於分隔符的格式(如短橫線)仍會在空格和標點處插入分隔符。
標點和數字會保留嗎?
數字會保留並被視為單詞的一部分。標點會作為單詞邊界,在拼接輸出時被去掉,因為目標命名風格都不允許標點。
文本會被上傳嗎?
不會。全部處理在瀏覽器內完成,貼上的內容不會離開你的裝置。