AutoCAD 內建的 FIND 指令可在開啟的圖檔中處理尋找與取代,但一款名為 Find and Replace Text 的瀏覽器工具可對您從圖檔複製出來的 AutoCAD 文字(註解、屬性值、區塊名稱、圖層名稱或 MText 內容)進行精確的逐字替換,輸入上限為 1,000,000 字元,且不會有正規表示式的意外結果。使用方式是將 AutoCAD 文字貼入工具中,輸入您要尋找的逐字字串以及逐字取代內容,選擇區分大小寫或不區分大小寫模式,並決定只取代第一個符合項目或所有不重疊的符合項目。接著工具會回報執行了多少次取代,並預覽精確轉換後的文字,讓您在將結果複製回 AutoCAD 或相關文件前能先驗證變更。由於所有比對都在您的瀏覽器中本機執行,AutoCAD 文字不會被上傳,這在圖檔包含專屬標籤、客戶代碼或未公開的產品名稱時特別重要。

AutoCAD 內建的 FIND 實際作用
AutoCAD 的 FIND 指令可從功能區存取,或在指令行輸入 FIND,會在作用中的圖檔內搜尋含有文字的物件。它適用於 TEXT、MTEXT、ATTDEF、ATTRIBUTE 以及區塊屬性值,並提供 Match Case、Whole Word 和 Wildcards 等選項。對於格式正確文字的單一圖檔變更,這是正確的起點,因為變更會直接寫回 DWG。
然而在某些常見情況下,先將文字擷取出來,在圖檔外部處理會更快也更安全:
- 您想要在多個圖檔之間執行相同的取代,並偏好先有一個統一且可預覽的結果再實際套用。
- 您要變更的文字埋在一段很長的 MText 字串中,而 AutoCAD 對話方塊在預覽區域中將其截斷了。
- 您需要保證逐字行為 — 對 *、?、#、[、] 不做任何萬用字元解讀。
- 您需要在匯出為 CSV 的數百個屬性定義中移除分隔符號或重新命名代號,然後再重新匯入。
- 您正在建立一份文件集,想要在 AutoCAD 本身看不到的文字(例如從標題區塊記錄檔擷取的標題)中統一用詞。
為什麼逐字比對的瀏覽器工具對 AutoCAD 文字很有用
Find and Replace Text 工具會以逐字方式處理每一個字元。句點、星號、方括號、括號、美元符號和反斜線都會比對自身,這與 AutoCAD FIND 萬用字元模式的行為恰好相反。如果您的圖檔文字在類似 SPEC_v2* 的代碼中包含一個逐字的星號,而且您只想變更該單一代號,那麼瀏覽器工具只會變更精確的 SPEC_v2* 序列,而不會變更所有以 SPEC_v2 開頭的字串。
對 AutoCAD 工作流程的實際優勢:
- 輸入上限可達 1,000,000 字元 — 足以容納幾乎所有擷取出來的文字檔,甚至完整的屬性匯出。
- 回報的取代次數與精確的預覽,讓您在複製任何內容回去之前,能先確認實際執行了 0 次還是 47 次取代。
- 原始的空白、定位點和換行會被精確保留 — 不會有靜默的重排或行尾標準化。
- 編輯任何控制項會清除先前的結果,這能避免將過期的輸出誤認為是當前設定的結果。
- 所有作業都在瀏覽器中本機執行;您圖檔中的文字內容不會離開本機。
如何使用 Find and Replace Text 工具在 AutoCAD 中尋找與取代文字
- 複製您要處理的 AutoCAD 文字。針對大量屬性輸出使用 ATTEXT 或 DATAEXTRACTION,或雙擊一個 MTEXT 物件後複製其可見內容。將該文字貼入 Find and Replace Text 工具的來源欄位。
- 輸入逐字尋找值 — 例如 Rev-A、client_name= 或 @@@。請不要跳脫標點符號;該工具不使用正規表示式,因此句點、星號、方括號、括號、美元符號和反斜線都會比對自身。
- 輸入取代值。此處也是逐字處理。允許空白的取代值,效果等同刪除,當您想要從代號中移除分隔符號時非常實用。
- 選擇大小寫敏感度。區分大小寫模式會精確比對字串,這對於像 Rev-A 與 rev-a 這類代碼的處理很關鍵。不區分大小寫模式會在比對前以英文地區規則將兩側轉為小寫,然後在輸出中保留未符合字元的原始大小寫。
- 選擇範圍。選擇「取代第一個」只變更最早的符合項目,其餘文字保持不變;或選擇「取代全部」來替換所有不重疊的符合項目。
- 執行取代。工具會回報執行了多少次取代,並顯示結果字串的精確預覽。
- 驗證並複製回去。閱讀預覽,確認次數符合預期,然後將轉換後的文字複製回 AutoCAD — 或在您於圖檔外部批次更新屬性時,複製到資料擷取試算表中。
逐字與正規表示式:在 AutoCAD 文字上的比對行為
AutoCAD FIND 的萬用字元選項使用 * 與 ? 作為樣式元字元,可能在類代碼的文字中產生非預期的符合。因此在萬用字元模式下,檔名或屬性值中的逐字星號是有風險的。瀏覽器工具則沒有這種行為 — * 比對星號、[ 比對左方括號、$ 比對美元符號。在取代的兩側,美元樣式與反向參照都沒有特殊意義。
不重疊比對也值得注意。在字串 aaaa 中將 aa 取代為 X 會產生 XX,而不是 X 或 XXX。第一個符合會消耗位置零和一,下一個符合消耗位置二和三,工具絕對不會在剛插入的文字上重複執行。底層搜尋演算法會以逐字比對和每次符合的固定步進長度走訪字串,這就是 MDN String indexOf 參考資料中所描述的標準 String.prototype.indexOf 行為。
可透過貼上型工具處理的 AutoCAD 文字情境
- 在匯出為 CSV 的數百個屬性值中,將重複出現的詞組(例如 PROJECT-PHASE-1)重新命名為 PROJECT-PHASE-2。
- 在重新匯入清理過的清單之前,以空白取代將 @@@ 移除,藉此刪除分隔符號。
- 在將新值回填到標題區塊屬性之前,將某個內部產品代碼從一個字串更新為另一個字串。
- 清理從 TEXTSCR 或圖檔記錄檔擷取出的區塊名稱、圖層名稱或比例清單項目。
- 透過先以 Case Converter 執行第一輪處理,接著對標準化後的輸出執行精確的取代,以統一 MText 內容中的大小寫。
- 在將結果貼回 LAYER 指令的選取提示之前,從圖層名稱的逗號分隔清單中移除尾端的逗號。
限制、邊緣情況,以及複製回去前要驗證的事項
當來源文字來自 AutoCAD 時,有幾項限制需要注意:
- 輸入上限為 1,000,000 字元。更長的擷取內容需要切割;如果您的來源是檔案,Text File Splitter 可在本機處理這項工作。
- 空白尋找值會被拒絕,因為在每個邊界都比對空字串會產生歧義。相對地,空白取代值是允許的,效果等同逐字刪除。
- 不區分大小寫模式僅適用於英文地區 — 不會執行變音符號折疊、Unicode 正規化、模糊比對、詞幹化、地區特定排序或全字偵測。請將其視為實用的英文行為,而非通用的語言等價系統。
- 該工具不會自動偵測即時 DWG 中的區塊參考、屬性標籤或標註文字。您操作的永遠是已經從 AutoCAD 擷取或複製出來的文字。
- 產生的預覽中沒有復原堆疊,但未變更的來源會保留在預覽上方,以便使用不同選項再執行一次。
- 若尋找值長度超過剩餘文字,會回傳零次取代,且來源維持不變 — 零是有效的結果,並非錯誤。
比對選項一覽
| 選項 | 工具中的行為 | 典型的 AutoCAD 用途 |
|---|---|---|
| 區分大小寫 | 以輸入的精確方式比對字元 | 在屬性標籤中保留像 Rev-A 與 rev-a 這類代碼的區分 |
| 不區分大小寫 | 僅在比對時以英文地區規則將兩側轉為小寫;輸出會保留未符合字元的原始大小寫 | 在大小寫混雜的屬性傾印中統一標籤 |
| 取代第一個 | 在最早符合處停止,並保留未觸及的剩餘部分 | 在大量套用前抽查一次取代 |
| 取代全部 | 取代所有不重疊的符合項目,且絕不會重新掃描插入的文字 | 在冗長的 MText 或屬性清單中進行批次重新命名 |
針對行級的前後綴處理(例如為每個擷取出的屬性標籤加上專案代碼前綴),Add Prefix and Suffix to Lines 工具會更為適合。若要在取代前檢查原始符合位置,請先執行一次 Count Occurrences。
如果您正在權衡選項,How to Find and Replace Text in Excel Without Formulas 對此有詳細說明。
如果您正在權衡選項,How to Find and Replace Text in Illustrator Safely 對此有詳細說明。