若要依照詞序反轉文字,請將段落貼到瀏覽器型的斷詞工具中,該工具會翻轉所有非空白符記的順序,同時讓每一個空格、Tab 與換行保留在原本的位置。第一個詞與最後一個詞交換位置,第二個詞與倒數第二個詞交換,以此類推,因此輸入 "one two three" 會變成 "three two one",而不是 "eerht owt eno"。每個詞內部的字母維持原本順序,逗號、句號、驚嘆號這類標點也仍依附在原本所接的詞之後,不會被視為獨立符記。由於空白字元既不會移動也不會變動,一個空格仍是一個空格,兩個空格仍是兩個空格,Tab 仍是 Tab,任何換行、CRLF 或 CR 序列都會精確出現在輸入字串中原本的位置。這項操作在本機瀏覽器中執行,因此不會上傳到遠端伺服器,而工具會回報它所反轉的非空白符記數量,讓你在將結果複製到其他應用程式、程式編輯器或文件之前,先確認數量符合預期。

反轉文字時,什麼算是一個詞
在這個流程中,「詞」指的是任何一段連續的非空白字元。這個機械式的定義代表:字母、數字、符號、表情符號與標點,只要中間沒有空白,都屬於同一個符記。在句子 "hello, brave world!" 中,三個符記分別是 "hello,", "brave" 與 "world!"。反轉後,段落會變成 "world! brave hello," — 逗號仍黏在 "hello" 後面,驚嘆號仍黏在 "world" 後面,與來源中完全相同。
這個斷詞工具刻意不使用字典、語言規則或語法啟發式。它不會去判斷逗號應該跟在前一個詞還是後一個詞,也不會決定 "can't" 是否應該拆成 "can" 和 "'t",更不會嘗試偵測句子邊界。這使得任何重視空白結構的文本都能獲得可預測的反轉結果:程式碼片段、標記、CSV 資料列、設定檔、測試樣本與格式化散文,行為都完全一致。如果你需要具備語法感知的分割、語言學斷詞器,或依照語言規則移動標點,這個工具無法提供該行為,你應該尋找其他做法。
逐步說明如何反轉文字
完整流程只需三個步驟,適用於任何長度上限為一百萬 UTF-16 字碼單位的段落。
- 貼上要反轉非空白符記順序的文字。單一句子、多行清單、縮排的程式碼片段或多段落區塊,效果都相同。Reverse Words 工具接受任意長度的空白序列,包括多個連續空格、Tab,以及 CRLF、CR 或 LF 換行。
- 選擇「反轉詞序」。工具會將輸入切成交替出現的空白與非空白段落,只收集非空白段落,將該集合反轉,再把反轉後的符記代回原本未變動的空白結構中。
- 驗證反轉後的符記,並確認原本的空格、Tab 與換行都保持在原位。工具會回報反轉了多少個非空白符記,並顯示完整的輸出結果。如果你之後修改輸入,先前的結果會自動清除,避免舊的反轉結果被誤認為當前輸出。
如果輸入僅含空白、沒有任何字元,或超出上限一百萬 UTF-16 字碼單位(哪怕只多一個單位),工具會以可見的錯誤訊息拒絕該請求,且不會產生部分結果。單一非空白符記是有效的輸入,行為為確定性的無操作:工具會原樣回傳該符記,並回報數量為一。
空格、Tab 與換行維持原位
這類反轉最重要的保證是:空白永遠不會移動。一個空格維持一個空格,兩個空格維持兩個空格,Tab 維持 Tab,任何換行(CRLF、CR 或 LF)都精確留在輸入當初放置的位置。這正是謹慎的詞序反轉工具與天真的字元翻轉或會壓縮空白的正則表達式之間的差別。
請看以下的範例區塊:
- 第 1 行:"one" 後接兩個字面空格,沒有換行
- 第 2 行:"two" 後接一個換行
- 第 3 行:"three",結尾沒有空白
反轉這三個符記完全不會改變空白結構。原本跟在 "one" 後面的兩個空格,仍然會跟在反轉後落在第一個位置的符記後面。原本分隔 "two" 與 "three" 的換行,仍然分隔第二與第三行。輸出會保留你所提供的視覺骨架,因此欄位、縮排與對齊的清單依然清晰可讀。
由於符記長度不同,當符記交換位置時,視覺版面可能看起來出乎意料。原本較短的第一個詞被移到了較長的最後位置,工具並不會因此自動填補欄位,而瀏覽器一般性的換行在畫面上也可能改變。視窗邊緣的換行並非被插入的換行字元,而是瀏覽器自然的軟換行,底層的空白字元仍然與你貼上時完全相同。
Unicode、表情符號與無空白的書寫系統
Unicode 字母與表情符號不需要字典查詢,因為斷詞器只區分空白與非空白。一段沒有插入空白的連續表情符號序列會被視為單一符記,因此像 👨👩👧👦 這樣的表情符號叢集若貼上時周圍沒有空白,會以一個單位整體移動,而不會被拆成個別表情符號。組合記號(例如附加腔音符號)會保持依附在相鄰的符記上,而不會脫離飄移。
對於通常不以空格分隔詞的書寫系統(例如中文、日文、泰文及其他類似文字),若輸入中完全沒有空白,可能會將整行或整個詞組視為一個符記。工具不會套用語言特有的分段規則,因此一個不含空格的漢語句子會維持為單一符記,反轉後等於自身不變。如果你的目標是反轉這些書寫系統中語言特有的詞序,你需要先插入明確的分隔符,再反轉符記,之後視需要移除分隔符。反轉操作本身無法知道字典會把什麼視為一個詞。
反轉詞序在什麼時候有用
只要需要以相反順序取得同一組符記、又不想手動重寫,反轉詞序就很實用。常見情境包括:
- 撰寫提示、謎題或詞序練習,讓讀者從反轉版本還原原本的詞組。
- 產生測試樣本與範例資料時,需要可預測的輸入與輸出結構,並希望以相反順序取得同一組符記以涵蓋邊界情況。
- 實驗給 AI 助理或搜尋引擎的提示,觀察符記順序如何改變回應。
- 檢查斷詞器實際上如何切分段落 — 如果反轉結果與預期不同,代表符記邊界很可能不在你以為的位置。
- 在社群簡介或聊天應用中創作俏皮的措辭、「倒裝句子」笑話或揭曉式訊息。
- 檢查設計稿中詞組的視覺對稱性,或確認詞組在兩個方向都能一致呈現。
由於操作在本機瀏覽器中執行,你可以將敏感的草稿、專屬程式碼或未發表的散文貼入工具,不必將文字送到遠端伺服器。輸出由你自行複製,工具不會在當前頁面工作階段之外保存輸入內容。
需要注意的限制
在貼上非常大的段落或混用多種書寫系統的內容之前,了解這項操作的界線會有所幫助。
| 限制或規則 | 實際上的意義 |
|---|---|
| 最大輸入大小 | 1,000,000 UTF-16 字碼單位。剛好達到上限會被接受;超過一個單位便會產生可見錯誤且無部分結果。 |
| 僅含空白的輸入 | 拒絕處理,因為沒有可反轉的非空白符記。 |
| 空輸入 | 基於相同理由而拒絕處理。 |
| 單一非空白符記 | 屬於有效的確定性無操作;工具會原樣回傳該符記,並回報數量為一。 |
| 字元層級反轉 | 不會執行。若要取得像 "olleh" 這類鏡像拼字,需要專門的字元反轉工具。 |
| 句子或子句剖析 | 不會執行。工具不會判斷何謂句子,也不會依語言文法移動標點。 |
| 由右至左或雙向文字 | 不會處理。混用 LTR 與 RTL 書寫系統時,可能需要具備雙向文字感知的編輯器才能進行精確的視覺檢視。 |
| 語言特有的分段 | 不會套用。CJK、泰文及其他少用空格的書寫系統,在沒有空白的狀況下會將整行視為一個符記。 |
| 語法正確性 | 不會保留。詞序反轉後語意通常無法維持,發布前請務必檢視輸出結果。 |
含有混用由左至右與由右至左書寫系統的文字,可能需要專門的雙向文字感知編輯器進行視覺檢視,因為工具不會改變視覺呈現的順序 — 它只會改變符記的順序。請勿將反轉後的輸出視為翻譯、字母重組或語法正確的句子。結果是機械式、確定性且在本機執行,但當詞序改變時,語意並不會保留。在將其插入程式碼、標記、指令或符記順序會影響行為的結構化格式之前,請先檢視輸出結果。
若你在比較不同選項,如何在 Photoshop 中反轉文字:兩種方法詳解 一文對此有詳細說明。