如何在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. 使用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的移除方法的關鍵優勢之一—它們在乾淨地移除目標元素的同時保留了周圍內容的完整性。

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

一個段落可以包含多個文字運行,其中每個運行代表具有一致格式屬性的文字,如加粗、斜體或顏色。 理解文字運行對於精確的內容操作至關重要。 每次段落中的格式發生變化時,就會開始一個新的文字運行。 例如,如果您有一句話,其中一個單詞是加粗的,您通常會有三個文字運行:加粗單詞前的文字、加粗單詞本身和加粗單詞後的文字。

要移除段落內的特定格式內容,請存取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

上面程式碼中的空條件運算符(?.)對於安全執行至關重要。 如果未找到文字,NullReferenceException。 當處理目標文字可能並不總是在文件中存在的文件時,這種模式使程式碼更加健壯。

FindText如何處理多次出現現象?

使用查找和替換前顯示加粗"ERRONEOUS TEXT IS HERE"的Word文件中的Lorem ipsum文字

FindText如何處理多次出現現象?

在查找和移除Lorem ipsum內容操作之後,Word文件顯示下劃線文字部分

在使用FindText時,請注意它返回目標文字的第一次出現。 如果您需要移除整個文件中特定文字的所有出現,請實現一個迴圈,繼續搜尋並移除直至不再有匹配項時為止。 這種迭代方法確保了整個文件全面的文字移除。

查找和移除功能保持了文件中刪除文字以外的格式和結構完好無損。 段落中斷、周圍文字的格式和文件樣式保持不變,使其在保持文件一致性的同時刪除不需要的內容時,是一個安全的操作。

常見問題

如何在C#中從Word文件中移除整個段落?

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

我移除文字時,文件結構會怎樣?

IronWord在移除文字時保持文件的整體格式和結構。剩餘段落保留其原始顏色和格式屬性,文件自動重排以消除空隙。這確保在乾淨地移除目標元素的同時保存周圍內容的完整性。

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

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

Word文件中的文字串是什麼?

在IronWord中,文字串代表段落內具有一致格式屬性的文字部分,例如粗體、斜體或顏色。每當段落內的格式改變時,新的文字串就會開始。在處理Word文件時,理解文字串對於精確內容操作至關重要。

移除Word文件中的文字後如何儲存變更?

在使用IronWord移除文字後,您可以調用SaveAs()方法儲存修改後的文件。例如,doc.SaveAs("document_modified.docx")會儲存所有移除更動應用後的更新文件。這會建立一個新文件,同時保存原始文件。

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

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

Ahmad Sohail
全端開發人員

Ahmad是一位擁有C#、Python和網頁技術堅實基礎的全端開發人員。他對構建可擴展的軟體解決方案深感興趣,並喜歡探索設計和功能在現實世界應用中的結合。

加入Iron Software團隊之前,Ahmad曾致力於自動化專案和API整合,專注於提升性能和開發者體驗。

在空閒時間,他喜歡試驗UI/UX理念,為開放原始碼工具做出貢獻,偶爾也會潛心編寫技術文件和文章以簡化複雜的主題。

準備開始了嗎?
Nuget 下載 49,323 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在滾動?

想要快速證明嗎? PM > Install-Package IronWord
運行範例觀看您的資料變成Word檔。