顛倒詞序
顛倒任何文字中的單字順序——「hello world」變成「world hello」。句子結構翻轉,單字完好無損。
The quick brown fox jumps over the lazy dog → dog lazy the over jumps fox brown quick The
顛倒任何文字中的單字順序——「hello world」變成「world hello」。句子結構翻轉,單字完好無損。
The quick brown fox jumps over the lazy dog → dog lazy the over jumps fox brown quick The
對於作家、程式設計師和語言學習者來説,顛倒句子中的單字順序是一項有用的練習。不像 反轉字符 在字串(產生不可讀的輸出)中,反轉詞序可以保持每個單字完整,同時翻轉句子的語法。
該工具接受任何文本——段落、歌詞、代碼註釋、地址——並返回詞序完全相反的相同文本。標點符號保留在其後面的單詞上,因此引號和句點位於您期望的位置。
顛倒詞序會產生類似尤達的語法:“你已經變得強大”,而不是“你已經變得強大”。對於模仿、字幕和模因生成器很有用。
單字反轉是一個經典的面試問題。該工具為您提供了工作範例來驗證您自己的實作 - 貼上您的測試輸入,與我們的輸出進行比較。
倒裝句法句子可以幫助學習者分離出文法角色所屬的單字。顛倒的西班牙語或德語句子揭示了詞序訊號與英語不同的含義。
某些形式的詩——迴文詩、鏡像詩——依賴詞序操縱。該工具為您提供了手動優化的起點。
對於文字渲染系統上的 QA,反向詞序會產生具有相同字元分佈但不同閲讀順序的字串 - 對於測試與單字位置無關的佈局非常有用。
此工具透過使用正規表示式分割空白字元(空格、製表符、換行符)序列來標記輸入: /\S+/g。每個標記(非空白字元的連續區塊)都被準確保留,包括標點符號。標記數組就地反轉,然後用單一空格分隔符號重新連接。這意味著原始間距、換行符和多個空格將折疊為單一空格。此演算法的運行時間和記憶體為 O(n),其中 n 是字元數。換行符被視為空格,因此多行文字變成單行。
雖然此工具很簡單,但存在用於在不同環境中反轉詞序的替代方法。
| 這個工具 | Bash/Shell (awk) | Python 單行程式碼 | |
|---|---|---|---|
| 操作複雜度 | 即時,無需設置 | 需要終端存取和 awk 知識 | 需要安裝Python並導入 |
| 標點符號的處理 | 保留附加在單字上的標點符號 | 取決於字段分隔符號;通常僅在空格上分割 | 如果透過 .split() 在空格上分割,則保留標點符號 |
| 輸入大小限制 | 無實際限制(合理的瀏覽器記憶體) | 受 shell 記憶體和管道容量限制 | 受Python記憶體限制;適合大檔案 |
顛倒單字順序是一個經典的程式設計面試問題,也是一項基本的文字操作任務。它出現在早期的字串處理庫中,例如 C 語言中 strtok 和 Perl 的 split/reverse 習語。該演算法本身沒有單一的發明者;它自然地源自於對程式設計和語言學中的標記重新排序的需要。第一個自動化實作可能可以追溯到 20 世紀 70 年代,使用 Unix 文字處理工具,例如 sed 和 awk,它可以使用模式空間啟發式地反轉詞序。
reverse(reverse(x)) = x.