Jak usunąć tekst z DOCX w C

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

IronWord oferuje wiele metod usuwania tekstu z dokumentów Word w C#, włączając z usuwaniem całych akapitów, konkretnych biegów tekstu, oraz znajdywaniem tekstu według treści przed usunięciem, wszystko to zachowując strukturę dokumentu i integralność formatowania.

Szybki start: Usuń tekst z DOCX

  1. Zainstaluj IronWord za pomocą Menedzera Paketow NuGet
  2. Załaduj plik DOCX używając WordDocument
  3. Dostęp do akapitów lub biegów tekstu według indeksu
  4. Wywołaj Remove() na docelowym elemencie
  5. Zapisz zmodyfikowany dokument
  1. Install IronWord with NuGet Package Manager

    PM > Install-Package IronWord
  2. Skopiuj i uruchom ten fragment kodu.

    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. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronWord w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Jak usunąć cały akapit z dokumentu Word?

Aby usunąć akapit z dokumentu Word, uzyskaj do niego dostęp przez kolekcję Paragraphs za pomocą jego pozycji indeksowej. Ten przykład usuwa akapit o indeksie 1, co powoduje usunięcie całej jego treści i formatowania. Struktura dokumentu automatycznie dostosowuje się po usunięciu, a następne akapity przesuwają się w górę, aby wypełnić lukę.

Pracując nad usuwaniem akapitów, pamiętaj, że indeksowanie zaczyna się od zera. Pierwszy akapit jest na indeksie 0, drugi na indeksie 1, i tak dalej. Metoda Remove() całkowicie eliminuje element akapitu ze struktury dokumentu, włącznie z wszystkimi biegami tekstu, formatowaniem i wszelką osadzoną zawartością, jak obrazy czy hiperlinki w tym akapicie.

: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

Jak wygląda dokument przed usunięciem?

Dokument Word z trzema kolorowymi akapitami przed usunięciem tekstu, pokazujący pasek formatowania i narzędzia akapitów

Jak zmienia się struktura dokumentu po usunięciu?

Dokument Word pokazujący trzy kolorowe akapity Lorem ipsum demonstrujące formatowanie tekstu przed usunięciem akapitu

Operacja usunięcia zachowuje ogólne formatowanie i strukturę dokumentu. Pozostałe akapity zachowują swoje oryginalne kolory i właściwości formatowania. To kluczowa zaleta korzystania z metod usuwania IronWord - zachowują integralność otaczającej zawartości przy czystym usuwaniu ukierunkowanych elementów.

Jak można usunąć specyficznie sformatowany tekst wewnątrz akapitu?

Akapit może zawierać wiele biegów tekstu, gdzie każdy bieg reprezentuje tekst z jednolitymi właściwościami formatowania, jak pogrubienie, kursywa czy kolor. Zrozumienie biegów tekstu jest kluczowe dla precyzyjnej manipulacji treścią. Za każdym razem, gdy zmienia się formatowanie w akapicie, rozpoczyna się nowy bieg tekstu. Na przykład, jeśli jest zdanie, w którym jedno słowo jest pogrubione, są zazwyczaj trzy biegi tekstu: tekst przed pogrubionym słowem, samo pogrubione słowo oraz tekst po nim.

Aby usunąć konkretnie sformatowaną zawartość wewnątrz akapitu, uzyskaj dostęp do kolekcji Texts i ukierunkuj pożądany bieg tekstu według indeksu. Ten przykład usuwa trzeci bieg tekstu (indeks 2) z pierwszego akapitu, pozostawiając inne treści nietknięte. Ta granularna kontrola pozwala zachować strukturę akapitu przy usuwaniu jedynie specyficznych sformatowanych segmentów.

: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

Pracując nad biegami tekstu, pamiętaj, że usunięcie biegu tekstu nie wpływa na formatowanie otaczających biegów. Każdy bieg tekstu utrzymuje swoje właściwości formatowania niezależnie. To pozwala na chirurgiczne usunięcie specyficznie sformatowanej zawartości bez zakłócania wyglądu wizualnego pozostałego tekstu.

Co się dzieje z biegami tekstu przed usunięciem?

Dokument Word pokazujący tekst z podkreślonym formatowaniem przed operacją usunięcia biegu tekstu

Jak usunięcie biegu tekstu wpływa na formatowanie akapitu?

Dokument Word pokazujący sformatowany akapit z podkreślonym tekstem po usunięciu specyficznego biegu tekstu

Jak pokazano na obrazkach, usunięcie specyficznego biegu tekstu zachowuje integralność formatowania pozostałej zawartości. Podkreślony tekst i inne właściwości formatowania pozostają niezmienione, demonstrując precyzję manipulacji biegów tekstu.

Jak można znaleźć i usunąć tekst według treści, a nie pozycji?

Metoda FindText lokalizuje i usuwa zawartość dynamicznie na podstawie dopasowania tekstu, a nie pozycji. Jest to szczególnie przydatne przy usuwaniu niewłaściwego tekstu, zastępczych tekstów lub specyficznej zawartości w dowolnym miejscu dokumentu bez znajomości jej dokładnej lokalizacji. Metoda zwraca dopasowany element tekstowy lub null, jeśli nie został znaleziony, pozwalając na bezpieczne usunięcie z kontrolą null przed wywołaniem Remove.

To podejście jest nieocenione przy pracy z dokumentami szablonowymi, gdzie potrzebne jest usunięcie zastępczego tekstu, lub podczas czyszczenia dokumentów ze wszystkimi wzorcami błędów. Metoda FindText domyślnie wykonuje rozróżnianie wyników wyszukiwania, zapewniając precyzyjne dopasowanie docelowej zawartości.

: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

Operator null-kondycjonalny (?.) w powyższym kodzie jest kluczowy dla bezpiecznego wykonania. Jeśli tekst nie zostanie znaleziony, FindText zwraca null, a operator null-kondycjonalny zapobiega NullReferenceException. Ten wzorzec sprawia, że kod jest bardziej odporny przy pracy z dokumentami, w których docelowy tekst może nie zawsze być obecny.

Na jaką zawartość należy zwracać uwagę, zanim skorzysta się z funkcji znajdź i usuń?

Dokument Word pokazujący tekst Lorem ipsum z 'TUTAJ JEST BLAD TEKSTOWY' w pogrubieniu przed użyciem funkcji znajdź i zastąp

Jak działa FindText przy wielu wystąpieniach?

Dokument Word pokazujący podkreślone sekcje tekstu po operacji znajdź i usuń na treści Lorem ipsum

Korzystając z FindText, pamiętaj, że zwraca on pierwsze wystąpienie dopasowanego tekstu. Jeśli potrzebne jest usunięcie wszystkich wystąpień specyficznego tekstu w całym dokumencie, należy zaimplementować pętlę, która będzie kontynuować wyszukiwanie i usuwanie, aż nie zostaną znalezione żadne więcej dopasowania. To iteracyjne podejście zapewnia kompletne usunięcie tekstu w całym dokumencie.

Funkcjonalność znajdź i usuń zachowuje formatowanie i strukturę dokumentu poza usuniętym tekstem. Przełamania akapitów, formatowanie otaczającego tekstu i style dokumentów pozostają nietknięte, czyniąc to bezpieczną operacją dla utrzymania spójności dokumentu przy usuwaniu niechcianej zawartości.

Często Zadawane Pytania

Jak usunąć cały akapit z dokumentu Word w C#?

Korzystając z IronWord, można usunąć akapit uzyskując do niego dostęp przez kolekcję Paragraphs używając pozycji indeksowej i wywołując metodę Remove(). Na przykład, doc.Paragraphs[1].Remove() usuwa drugi akapit (indeks 1). Struktura dokumentu automatycznie dostosowuje się po usunięciu, a kolejne akapity przesuwają się, aby wypełnić lukę.

Co się dzieje ze strukturą dokumentu, gdy usunę tekst?

IronWord utrzymuje ogólne formatowanie i strukturę dokumentu podczas usuwania tekstu. Pozostałe akapity zachowują swoje pierwotne kolory i właściwości formatowania, a dokument automatycznie zmienia układ w celu wyeliminowania luk. To zapewnia zachowanie integralności otaczającej treści przy czystym usunięciu docelowych elementów.

Czy mogę usunąć specyficzny sformatowany tekst w obrębie akapitu zamiast całego akapitu?

Tak, IronWord pozwala na usunięcie specyficznych fragmentów tekstu w obrębie akapitu. Ponieważ akapity mogą zawierać wiele fragmentów tekstu (każdy reprezentujący tekst o spójnym formatowaniu), można celować i usuwać poszczególne fragmenty zachowując resztę treści i struktury akapitu.

Co to jest fragment tekstu w dokumentach Word?

W IronWord, fragment tekstu reprezentuje część tekstu w obrębie akapitu, który ma spójne właściwości formatu, takie jak pogrubienie, kursywa czy kolor. Za każdym razem, gdy zmienia się formatowanie w obrębie akapitu, zaczyna się nowy fragment tekstu. Rozumienie fragmentów tekstu jest kluczowe do precyzyjnej manipulacji treścią podczas pracy z dokumentami Word.

Jak zapisać zmiany po usunięciu tekstu z dokumentu Word?

Po usunięciu tekstu korzystając z IronWord, można zapisać zmodyfikowany dokument poprzez wywołanie metody SaveAs(). Na przykład, doc.SaveAs("document_modified.docx") zapisuje zaktualizowany dokument z zastosowanymi wszystkimi zmianami. Tworzy to nowy plik przy jednoczesnym zachowaniu pierwotnego dokumentu.

Czy usunięcie akapitów usuwa również osadzone treści, takie jak obrazy czy hiperłącza?

Tak, gdy używasz metody Remove() IronWord na akapicie, całkowicie eliminuje element akapitu ze struktury dokumentu, w tym wszystkie fragmenty tekstu, formatowanie i wszelkie osadzone treści, takie jak obrazy czy hiperłącza w tym akapicie.

Ahmad Sohail
Full Stack Developer

Ahmad to full-stack developer z solidnym fundamentem w C#, Pythonie i technologiach webowych. Ma głębokie zainteresowanie tworzeniem skalowalnych rozwiązań oprogramowania i cieszy się badaniem, jak projektowanie i funkcjonalność spotykają się w rzeczywistych aplikacjach.

Przed dołączeniem do zespołu Iron Software, Ahmad pracował nad projektami ...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 38,043 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronWord
uruchom próbkę zobacz, jak twoje dane stają się dokumentem Word.