ToolAct工具行動

大小寫轉換工具

快速轉換文字大小寫,支援多種程式設計命名規範

輸入內容
轉換結果

選擇轉換方式

什麼是大小寫轉換?

大小寫轉換是將文字中的字母字元轉換為不同大小寫形式的操作。除了基本的全部大寫、全部小寫、首字母大寫外,還支援多種程式設計命名規範的轉換,如駝峰命名(camelCase)、帕斯卡命名(PascalCase)、下劃線命名(snake_case)等。這些轉換功能對程式設計師和文案編輯人員非常有用,可以快速統一文字格式或轉換變數命名風格。

使用方式

基本操作

  1. 在左側輸入框中輸入或貼上要轉換的文字
  2. 點選對應按鈕以選擇轉換模式
  3. 右側會自動顯示轉換後的結果
  4. 點選「複製」將結果複製到剪貼簿

文字規則

  • 大小寫轉換最適用於純拉丁文字;名稱、縮寫、程式碼識別字及特定語系字母可能需要手動檢查。
  • 替換正式內容前,請確認標點符號、空格及詞語邊界是否保留完整。

使用場景

在常見大小寫風格之間轉換文字將輸入轉換為大寫、小寫、首字母大寫、句首大寫、camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、dot.case、path/case 或大小寫互換。模式或輸入變更時輸出即時更新,可以並排測試標題、識別字或段落在不同風格下的效果。像 API、JSON、iPhone 這樣的縮寫和品牌名稱,以及德文名詞、eszett 或帶腔調的字母,在自動小寫轉換後經常需要手動還原。
為程式碼和 URL 準備識別字命名模式會正規化空格、連字號、底線、點號和斜線等分隔符,並在重建字串前拆分 camelCase 或 PascalCase 的邊界。這讓它適合用於檔名、設定鍵、CSS 類別名稱、路由路徑、環境變數鍵和 SQL 欄位名稱。請對照你所用語言的保留字清單驗證結果,因為 camelCase 或 snake_case 可能在 JavaScript 和 Java 中意外與 new、class 或 default 等類別名稱衝突。
使用快捷鍵進行頻繁的大小寫變更當輸入面板獲得焦點時,鍵盤快捷鍵可觸發大寫、小寫、首字母大寫、snake_case 和 kebab-case 轉換,無需離開鍵盤。在批次重新命名標籤、重構資料庫欄位清單或正規化 slug 時,能加快重複性的清理工作。注意預覽中標點、空白、混合語言文字或 iOS、markdown 這類複合詞是否在錯誤的邊界處被拆分。
從標題建立 slug 和路由片段將「My First Blog Post」這樣的標題轉換為 kebab-case 即可得到 my-first-blog-post 作為 URL slug。當來源標題本身已包含底線、點號或需要先拆分的 camelCase 邊界時,切換大小寫敏感度和分隔符處理方式。
保護縮寫和品牌名稱不被小寫化對包含 JSON、API 或 iPhone 的段落執行小寫轉換,然後手動修正被轉換破壞的縮寫。對於正式的程式碼識別字,建議使用尊重現有字母序列的 snake_case 或 camelCase 模式,而非激進的全小寫。

技術原理

大小寫轉換並非簡單的 ASCII 字元替換。JavaScript 提供 toUpperCase、toLowerCase,以及支援語系的 toLocaleUpperCase / toLocaleLowerCase。經典的土耳其語陷阱是 'I'.toLocaleLowerCase('tr-TR') 會回傳無點的 'ı'(U+0131)而非 'i',而 'i'.toLocaleUpperCase('tr-TR') 會回傳有點的 'İ'(U+0130)。德文 'ß' 在預設語系下大寫為 'SS',但在 'de-DE-x-eszett' 下則為大寫 eszett 'ẞ'(U+1E9E)。工具在預設語系下執行,除非使用者主動選擇,這符合多數程式碼識別字的預期。 camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、dot.case 和 path/case 都先將輸入拆分為詞彙單元。詞彙邊界偵測發生在空白、連字號、底線、點號、斜線,以及任何小寫到大寫的轉換處(因此 'userProfileID' 會拆分為 ['user', 'Profile', 'ID'])。詞彙列表接著進行小寫化、按風格大寫化,再以目標分隔符連接:camelCase 和 PascalCase 用 ''、snake_case 用 '_'、kebab-case 用 '-'、CONSTANT_CASE 用 '_' 加大寫、dot.case 用 '.'、path/case 用 '/'。 句首大寫只在句末標點符號(.、!、?)加上空白之後的第一個字母大寫,其餘轉小寫;而每個詞首字母大寫則將每個詞的第一個字母大寫、其餘轉小寫。Unicode 有專門的標題大小寫碼點,例如二合字母 'Dž'(U+01C5),它既不是小寫的 'dž' 也不是大寫的 'DŽ',標準的 String.prototype 方法無法產生它;完整的 Unicode 標題大小寫需要專門的函式庫。URL slug 生成需要額外的正規化步驟 — NFKD 加上移除組合標記 — 以在 kebab-case 連接前將 'café' 轉為 'cafe'。

  • 語系陷阱:'I'.toLocaleLowerCase('tr-TR') = 'ı';'i'.toLocaleUpperCase('tr-TR') = 'İ';德文 'ß' 預設大寫為 'SS',在 de-DE-x-eszett 下為 'ẞ'
  • 詞彙拆分:以空白、'-'、'_'、'.'、'/' 以及小寫到大寫的轉換處進行分詞('userProfileID' → ['user', 'Profile', 'ID'])
  • 風格組裝:camelCase = 首詞小寫 + 其餘首字母大寫,以 '' 連接;PascalCase = 全部首字母大寫,以 '' 連接;snake = '_';kebab = '-'
  • CONSTANT_CASE / SCREAMING_SNAKE:snake_case 經 toUpperCase 轉換,常用於環境變數鍵名
  • 句首大寫:在 [.!?] 加空白後的第一個字母大寫;其餘全部小寫
  • Unicode 標題大小寫:存在專門的碼點如 'Dž'(U+01C5),但 String.prototype 方法無法產生
  • Slug 生成管線:str.normalize('NFKD').replace(/\p{M}+/gu, '') 移除變音符號,使 'café' 在 kebab-case 前變為 'cafe'

範例

將「hello world」轉換為各種常見大小寫格式

輸入:           hello world

UPPERCASE:       HELLO WORLD
lowercase:       hello world
Capitalize:      Hello World
Sentence case:   Hello world
camelCase:       helloWorld
PascalCase:      HelloWorld
snake_case:      hello_world
kebab-case:      hello-world
CONSTANT_CASE:   HELLO_WORLD
dot.case:        hello.world
path/case:       hello/world

將 JavaScript 變數重構為 Python 用的 snake_case

輸入: userProfileSettings
snake_case 輸出:    user_profile_settings
CONSTANT_CASE:       USER_PROFILE_SETTINGS

# 在 JavaScript(camelCase)與
# Python(snake_case)之間移植程式碼時很實用。

將文章標題轉為 URL slug

輸入:        My First Blog Post: A Beginner's Guide!
kebab-case:   my-first-blog-post-a-beginners-guide

最終 URL:    https://blog.example.com/my-first-blog-post-a-beginners-guide

切換大小寫產生風格化文字

輸入:     Hello World
tOGGLE:    hELLO wORLD

輸入:     ToolAct Online
tOGGLE:    tOOLaCT oNLINE

常見問題

支援哪些大小寫風格?

全大寫(UPPERCASE)、全小寫(lowercase)、標題大小寫(Title Case,每個字首字母大寫)、句子大小寫(Sentence case,僅首字母大寫)、駝峰式(camelCase)、帕斯卡式(PascalCase)、蛇形(snake_case)、短橫線(kebab-case)、常數式(CONSTANT_CASE)。所有風格都會即時轉換。

Title Case 和 Sentence case 有什麼差別?

Title Case 會把每個重要單字都首字母大寫:「The Quick Brown Fox」。Sentence case 只把第一個字和專有名詞首字母大寫:「The quick brown fox」。Title Case 又有不同流派——有些會跳過短字(a、an、the、of、in),本頁通常採用 APA 或 AP 風格;具體規則請看選項列表。

中日韓字元怎麼處理?

中文、日文、韓文字元沒有大小寫之分,會原樣保留。中日韓與拉丁字母混合的文字只會處理拉丁字母部分。羅馬字(日文的拉丁拼寫)、拼音(中文的拉丁拼寫)、韓文羅馬化拼寫則會正常轉換。

能處理帶重音的字元嗎?

可以——é → É、ñ → Ñ、ß → SS(德文 eszett 大寫,依 Unicode 規則而定)。部分舊系統會把 ß 對應為 SS;現代 Unicode 則允許 ẞ。本頁使用 JavaScript 內建的 toLowerCase / toUpperCase,遵循 Unicode 大小寫折疊規則。

為什麼土耳其語的 I 行為這麼奇怪?

土耳其語有不帶點的 ı 和帶點的 i——在土耳其語環境下,I 的小寫是 ı(不帶點)而不是 i。JavaScript 預設的大小寫轉換不會套用語系規則。如果您的場景在意土耳其語大小寫,請在程式碼中使用 String.prototype.toLocaleLowerCase('tr')。

可以從 snake_case 反向轉回 Title Case 嗎?

可以。偵測器會辨識常見的命名風格,並可在任意兩種之間互轉:snake_case → kebab-case、PascalCase → camelCase 等。PascalCase 中的縮寫(如 HTMLParser)有時無法乾淨地往返 snake_case,這取決於本頁是把連續大寫視為一個單字還是多個。

我的文字會被上傳嗎?

不會。轉換在您的瀏覽器中以 JavaScript 字串方法執行,貼上的文字不會被傳送出去。