特殊字元移除工具可一次批次處理最多 1,000,000 個 UTF-16 程式碼單位,並在瀏覽器中完整移除標準化的 Unicode 符號,且可選擇是否移除標點符號。

在此工具中,「批次」是指一大段貼上的文字,並以單一 Unicode 規則處理。該區塊中每個符合規則的程式碼點都會依所選規則移除,而不符合的內容則會保留在輸出中且不會被改寫。

如需進行可控的純文字清理、準備識別碼初稿,或移除複製到文件中的裝飾符號,請使用特殊字元移除工具。文字會在本機處理:不會上傳、儲存或傳送至 API。

special characters remover bulk
用於批次 Unicode 清理的特殊字元移除工具

此處批次清理的意義

支援的批次工作流程始於貼上的文字。來源可以包含多行內容,但它們會在單一分類規則下一起視為一項輸入處理。文字檔案不會透過獨立的檔案上傳工作流程提交;其內容必須先複製到文字欄位中。對於以檔案為基礎的工作,如何安全地從文字檔案移除特殊字元中的準備與審查步驟可提供實用的配套流程。

輸入上限是以 UTF-16 程式碼單位計算,而非可見字元或 Unicode 程式碼點。一般字元大多使用一個程式碼單位,而補充平面 emoji 可能使用兩個。因此,1,000,000 個單位的限制並不表示可處理一百萬個可見字元;如果輸入包含足夠多的補充字元,即使程式碼點少於上限,仍可能超過限制。

所有比對都在瀏覽器中進行,因此適合處理應留在裝置上的初稿。這項本機處理特性適用於貼上的文字本身;不代表清理後的輸出對每個目的地或應用程式都安全。

選擇移除模式

「特殊字元」是依 Unicode 分類資料定義,而非依字形外觀判定。Unicode 一般分類值包含代表標點符號的 P 分類,以及代表符號的 S 分類。此移除工具會套用這些標準,而非依賴人工維護的單一鍵盤字元清單。

請依標點符號是否應納入清理來選擇模式:

模式 移除的 Unicode 分類 保留的內容 適用情境
僅符號 S 符號,包括貨幣符號、數學運算子、箭頭、多數 emoji 程式碼點及版權符號 P 標點符號、字母、十進位數字、其他數字、結合符號、分隔符號及空白 移除符號字元,同時保留逗號、引號及連接用的底線
符號與標點符號 S 符號與 P 標點符號 字母、十進位數字、其他數字、結合符號、分隔符號及空白 當標準化符號與標點符號都應移除時,用於清理純文字

較廣泛的模式包含連接用標點符號,因此底線會作為 P 標點符號被移除;僅符號模式則會保留底線。非拉丁文字系統所使用的標點符號也可能符合 P,因此廣泛模式是跨分類的清理,而不是僅限 ASCII 的篩選器。

一個簡短範例即可說明差異:在僅符號模式下,「Hi, $5!」會變成「Hi, 5!」,因為美元符號是貨幣符號,而逗號與驚嘆號則是標點符號。廣泛模式除了美元符號,也會移除這兩個標點符號。

在瀏覽器中清理大批內容

  1. 貼上批次內容。 將文字放入輸入欄位,並保留原有順序、空格與換行。清理工具會將貼上的文字視為一項輸入進行評估,而不是對每筆記錄分別套用規則。
  2. 檢查輸入大小。 文字不得為空,且不得超過 1,000,000 個 UTF-16 程式碼單位。剛好達到上限的內容會被接受;多一個單位就會在替換前遭拒絕,且不會產生部分輸出。
  3. 選擇一種移除模式。 選擇僅符號以保留 P 標點符號,或選擇符號與標點符號以同時移除 P 與 S 分類。
  4. 執行移除。 將所選分類規則套用至貼上的文字。每個符合規則的程式碼點都會以空字串取代。
  5. 驗證結果。 檢查瀏覽器中顯示的確切清理後輸出,以及已移除的程式碼點數量。確認下一步所需的內容仍然存在。
  6. 重複使用前先審查。 將結果傳送至目的地前,請檢查是否有文字黏合、標點符號變更、貨幣值變更或數學表示法遭改動。

清理工具保留的內容

此清理工具刻意僅處理特定範圍。字母、十進位數字、其他數字、結合符號、分隔符號及空白不屬於 P 或 S 分類,因此會予以保留。因此,重音符號不會被移除:基礎字母後接結合符號時,會維持該分解形式,且工具不會將其正規化。

現有空白不會被壓縮、修剪或取代。不過,如果符合規則的符號或標點符號原本位於兩個單字之間,移除該字元後不會插入空格。移除該字元可能使兩個單字相連,因為工具無法推斷預期的文法。

移除後顯示的數量是符合規則的 Unicode 程式碼點數量,而非消耗的 UTF-16 單位數量。以一個程式碼點表示的補充平面 emoji 會計算一次。多程式碼點 emoji 序列則較為複雜:數個符號程式碼點可能會被移除,而連接符號或變體選擇器則會保留,因此此工具並非完整的 emoji 序列清理工具。

在準備識別碼初稿時,這項差異很重要。廣泛模式可移除底線及其他標點符號,而僅符號模式會保留連接用底線,但仍會移除文字中的任何 S 分類符號。兩種模式都不保證結果對特定系統有效。

大型輸入限制與結果完整性

兩項驗證規則界定批次作業的邊界:空白輸入會被拒絕,超過 1,000,000 個 UTF-16 程式碼單位的輸入也會被拒絕。超過上限時,會先進行驗證再進行替換,因此瀏覽器不會將部分清理結果呈現為已完成結果。可接受的上限是精確值,並非四捨五入。

此實作使用具備 Unicode 旗標的 JavaScript Unicode 屬性逸出,如ECMAScript Unicode 屬性比對規則所述。S 會選取符號分類,而廣泛模式則將 S 與 P 結合。每個符合規則的程式碼點都會個別刪除並計數;每個不符合規則的程式碼單位都會保留,且不會被修剪或正規化。

如果編輯輸入或變更模式,舊結果會立即清除。這項安全防護可避免先前設定所產生的結果被誤認為目前批次的輸出。

重複使用前先審查結果

批次分類移除可能改變意義,因為工具無法區分裝飾符號與具有意義的符號。貨幣值可能失去貨幣符號,方程式可能失去運算子,句子邊界可能消失,輔助技術也可能以不同方式朗讀修訂後的文字。

  • 在人工審查前清理受控的純文字段落、報告或複製內容。
  • 在了解目標系統標點符號規則的前提下,准備識別碼初稿。
  • 從複製內容中移除裝飾符號,但不移除字母或重音符號。

這不是安全清理工具。請勿用它驗證 SQL、HTML、shell 命令、URL、檔案名稱、使用者名稱或驗證資料。安全的驗證需要依目的地建立允許清單與文法,並在伺服器上強制執行,而非從刪除標記為特殊字元的字元來推斷。

如果真正不需要的內容其實是空格或換行,請改用空白字元移除工具;此清理工具刻意保留空白。對於大批內容,最安全的做法是進行一次受控處理、檢查顯示的輸出與數量,然後依目的地自身的規則測試結果。

如需深入瞭解,請參閱刪除線文字範例:可複製的 Unicode 範例。