如何在 C# 中從 DOCX 檔案中移除文字

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord 提供多種方法,可在 C# 中從 WORD 文件中移除文字,包括移除整個段落、特定文字區塊,以及在刪除前根據內容搜尋文字,同時完整保留文件的結構與格式。

快速入門:從 DOCX 檔案中移除文字

  1. 透過 NuGet 套件管理員安裝 IronWord
  2. 使用 WordDocument 載入您的 DOCX 檔案
  3. 透過索引存取段落或文字區塊
  4. 在目標元素上呼叫 Remove()
  5. 儲存修改後的文件
  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronWord

    PM > Install-Package IronWord
  2. 請複製並執行此程式碼片段。

    using IronWord;
    
    // Load document
    WordDocument doc = new WordDocument("document.docx");
    
    // Remove second paragraph
    doc.Paragraphs[1].Remove();
    
    // Save changes
    doc.SaveAs("document_modified.docx");
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronWord

    arrow pointer

如何從 WORD 文件中刪除整段文字?

若要從 WORD 文件中移除一段落,請透過 Paragraphs 集合,使用其索引位置來存取該段落。 此範例會移除索引編號為 1 的段落,並刪除其所有內容與格式。 移除內容後,文件結構會自動調整,後續段落會向上移動以填補空缺。

處理段落刪除時,請注意索引是從零開始的。 第一段的索引為 0,第二段為 1,依此類推。 Remove() 方法會將段落元素完全從文件結構中移除,包括該段落內的所有文字區塊、格式設定,以及任何嵌入式內容(如圖片或超連結)。

:path=/static-assets/word/content-code-examples/how-to/remove-text-simple.cs
using IronWord;

// Load a DOCX document
WordDocument doc = new WordDocument("text_document.docx");

// Remove the second paragraph
doc.Paragraphs[1].Remove();

// Export the file
doc.SaveAs("text_document_modified.docx");
Imports IronWord

' Load a DOCX document
Dim doc As New WordDocument("text_document.docx")

' Remove the second paragraph
doc.Paragraphs(1).Remove()

' Export the file
doc.SaveAs("text_document_modified.docx")
$vbLabelText   $csharpLabel

移除前文件呈現何種樣貌?

移除文字前的 WORD 文件,內含三個彩色段落,顯示格式功能區與段落工具

移除後文件結構會有何變化?

WORD 文件中顯示三個彩色 Lorem ipsum 段落,展示移除段落前的文字格式

移除操作將保留文件的整體格式與結構。 其餘段落將保留原始的顏色與格式設定。 這正是使用 IronWord 移除方法的關鍵優勢——它們能在乾淨俐落地移除目標元素的同時,完整保留周圍內容的完整性。

如何移除段落中的特定格式化文字?

一個段落可能包含多個文字區段,每個區段代表具有一致格式屬性(如粗體、斜體或顏色)的文字。 理解文字段落結構對於精確的內容處理至關重要。 每當段落內的格式發生變化時,即開始新的文本段落。 例如,若某句中有一個WORD以粗體呈現,通常會將其視為三個文字區段:WORD前的文字、WORD本身,以及WORD後的文字。

若要移除段落中的特定格式化內容,請存取 Texts 集合,並透過索引鎖定目標文字區塊。 此範例移除了第一段落中的第三段文字(索引 2),其餘內容保持不變。 此精細控制功能可讓您在保留段落結構的同時,僅移除特定的格式化區段。

:path=/static-assets/word/content-code-examples/how-to/remove-text-text-run.cs
using IronWord;

// Load a DOCX document
WordDocument doc = new WordDocument("sample.docx");

// Remove the first paragraph's third textrun
doc.Paragraphs[0].Texts[2].Remove();

// Export the file
doc.SaveAs("sample_after_textrun_removal.docx");
Imports IronWord

' Load a DOCX document
Dim doc As New WordDocument("sample.docx")

' Remove the first paragraph's third textrun
doc.Paragraphs(0).Texts(2).Remove()

' Export the file
doc.SaveAs("sample_after_textrun_removal.docx")
$vbLabelText   $csharpLabel

處理文字段落時,請注意刪除某個文字段落不會影響周邊段落的格式。 每個文字區塊均獨立保留其格式設定。 這使得能夠精準地移除特定格式化的內容,同時不影響剩餘文字的視覺呈現。

移除前的文字區塊會如何處理?

顯示在執行文字連貫性處理前具有底線格式設定的文字之 WORD 文件

刪除一段文字會如何影響段落格式?

WORD 文件中顯示格式化段落,在移除特定文字段落後,剩餘文字已加底線

如圖片所示,移除特定文字段落後,剩餘內容的格式完整性仍能維持。 下劃線文字及其他格式設定均保持不變,以展現對文字段落處理的精準度。

如何根據內容而非位置來查找並移除文字?

FindText 方法是根據文字匹配(而非位置)來動態定位並移除內容。 這對於移除文件中任何位置的無效文字、佔位符或特定內容特別有用,即使不知道其確切位置。 此方法會傳回匹配的文字元素,若未找到則傳回 null,因此可在呼叫 Remove 之前透過 null 檢查安全地移除該元素。

此方法對於處理需移除佔位符文字的範本文件,或清理具有已知錯誤模式的文件時,極具價值。 FindText 方法預設執行區分大小寫的搜尋,以確保目標內容能精確匹配。

:path=/static-assets/word/content-code-examples/how-to/remove-text-find.cs
using IronWord;

// Load the document
WordDocument doc = new WordDocument("sample.docx");

// Find and remove erroneous text
var textToRemove = doc.FindText("ERRONEOUS TEXT IS HERE.");
textToRemove?.Remove();

// Save the cleaned document
doc.SaveAs("sample_cleaned.docx");
Imports IronWord

' Load the document
Dim doc As New WordDocument("sample.docx")

' Find and remove erroneous text
Dim textToRemove = doc.FindText("ERRONEOUS TEXT IS HERE.")
textToRemove?.Remove()

' Save the cleaned document
doc.SaveAs("sample_cleaned.docx")
$vbLabelText   $csharpLabel

上方的程式碼中,空值條件運算子 (?.) 對於安全執行至關重要。 若未找到該文字,FindText 會傳回 null,而 null 條件運算子會阻止 NullReferenceException 的發生。 此模式能讓您的程式碼在處理文件時更為穩健,尤其當目標文字未必總是存在時。

FindText 如何處理多次出現的情況?

WORD 文件顯示 Lorem ipsum 範例文字,其中

FindText 如何處理重複出現的內容?

對 Lorem ipsum 內容執行

使用 FindText 時,請注意它會返回匹配文字的首次出現位置。 若需移除文件中所有特定文字的出現位置,請實作一個迴圈,持續搜尋並移除,直到不再找到任何匹配項目為止。 這種迭代方法可確保在整個文件中徹底移除所有文字。

"尋找並移除"功能在移除文字時,會保留文件中未被移除部分的格式與結構。 段落分隔、周邊文字的格式以及文件樣式均保持不變,這使得在移除不需要的內容時,能安全地維持文件的一致性。

常見問題

如何使用 C# 從 WORD 文件中刪除整段文字?

透過 IronWord,您可以利用索引位置存取 Paragraphs 集合中的段落,並呼叫 Remove() 方法來移除該段落。例如,doc.Paragraphs[1].Remove() 將移除第二個段落(索引 1)。移除後,文件結構會自動調整,後續段落會向上移動以填補空缺。

當我刪除文字時,文件結構會發生什麼變化?

IronWord 在移除文字時,會維持文件的整體格式與結構。剩餘段落將保留原始的顏色與格式屬性,且文件會自動重新排版以消除空白。這確保了在乾淨地移除目標元素的同時,周圍內容的完整性得以保留。

能否僅移除段落中的特定格式化文字,而非整段文字?

是的,IronWord 允許您移除段落中的特定文字區塊。由於段落可能包含多個文字區塊(每個區塊代表格式一致的文字),您可以針對並移除個別區塊,同時保留段落其餘的內容與結構。

WORD 文件中的「文字區段」是什麼?

在 IronWord 中,文字區段代表段落內具有一致格式屬性(如粗體、斜體或顏色)的文字部分。每當段落內的格式發生變化時,便會開始一個新的文字區段。理解文字區段對於處理 Word 文件時進行精確的內容操作至關重要。

從 WORD 文件中刪除文字後,該如何儲存變更?

using IronWord 移除文字後,您可以透過呼叫 SaveAs() 方法來儲存修改後的文件。例如,doc.SaveAs("document_modified.docx") 會將已套用所有移除變更的更新文件儲存下來。此操作會建立一個新檔案,同時保留原始文件。

移除段落是否也會刪除嵌入的內容,例如圖片或超連結?

是的,當您對段落使用 IronWord 的 Remove() 方法時,它會將該段落元素完全從文件結構中移除,包括所有文字區塊、格式設定,以及該段落內任何嵌入的內容(例如圖片或超連結)。

Ahmad Sohail
全端開發者

Ahmad 是一位全端開發者,具備扎實的 C#、Python 及網頁技術基礎。他對建構可擴展的軟體解決方案深感興趣,並樂於探索設計與功能如何在實際應用中完美結合。

在加入 Iron Software 團隊之前,Ahmad 曾參與自動化專案與 API 整合工作,專注於提升效能與開發者體驗。

閒暇之餘,他喜歡嘗試 UI/UX 創意、為開源工具貢獻心力,並偶爾投入技術寫作與文件編寫,致力於將複雜的主題轉化為淺顯易懂的內容。

準備開始了嗎?
Nuget 下載 44,829 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronWord
執行範例 觀看您的資料轉為 WORD 文件。