大小寫轉換工具
快速轉換文字大小寫,支援多種程式設計命名規範
選擇轉換方式
什麼是大小寫轉換?
大小寫轉換是將文字中的字母字元轉換為不同大小寫形式的操作。除了基本的全部大寫、全部小寫、首字母大寫外,還支援多種程式設計命名規範的轉換,如駝峰命名(camelCase)、帕斯卡命名(PascalCase)、下劃線命名(snake_case)等。這些轉換功能對程式設計師和文案編輯人員非常有用,可以快速統一文字格式或轉換變數命名風格。
使用方式
基本操作
- 在左側輸入框中輸入或貼上要轉換的文字
- 點選對應按鈕以選擇轉換模式
- 右側會自動顯示轉換後的結果
- 點選「複製」將結果複製到剪貼簿
文字規則
- 大小寫轉換最適用於純拉丁文字;名稱、縮寫、程式碼識別字及特定語系字母可能需要手動檢查。
- 替換正式內容前,請確認標點符號、空格及詞語邊界是否保留完整。
使用場景
技術原理
大小寫轉換並非簡單的 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 字串方法執行,貼上的文字不會被傳送出去。