W tym artykule opisano różne podejścia do znajdowania i zastępowania tekstu w dokumentach programu Word przy użyciu języka C# w aplikacjach platformy .NET lub .NET Core.

Znajdź i zamień to całkiem przydatna funkcja MS Word, która pozwala szybko zlokalizować i zamienić żądany tekst w dokumentach. Staje się bardziej poręczny i oszczędza czas podczas pracy z dłuższymi dokumentami. W przypadkach, gdy musisz znaleźć i zamienić tekst w setkach dokumentów programu Word lub musisz zautomatyzować ten proces, zdecydowanie zdecydujesz się zrobić to programowo. W tym artykule pokażę, jak znaleźć i zamienić tekst w dokumentach programu Word programowo w różnych scenariuszach przy użyciu języka C#. Po przeczytaniu tego artykułu będziesz mógł:

Biblioteka C# do wyszukiwania i zastępowania tekstu w dokumencie programu Word

Przede wszystkim utwórz nowy projekt C# (Console, ASP.NET itp.) w Visual Studio i zainstaluj Aspose.Words for .NET za pośrednictwem NuGet Package Manager lub Package Manager Console.

Instalowanie za pomocą Menedżera pakietów NuGet

Znajdowanie i zastępowanie tekstu w programie Word DOC

Instalowanie za pomocą konsoli Menedżera pakietów

PM> Install-Package Aspose.Words

Po zainstalowaniu Aspose.Words for .NET, zacznijmy odnajdywać i zastępować tekst w następującym dokumencie programu Word.

c# znajdź i zamień tekst w dokumencie programu Word

Znajdź i zamień tekst w dokumentach programu Word w języku C#

Poniżej przedstawiono kroki, aby znaleźć i zamienić określony tekst w dokumencie programu Word przy użyciu Aspose.Words for .NET.

Klasa FindReplaceOptions zapewnia różne opcje dostosowywania operacji znajdowania/zamieniania. Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić określony wyraz lub ciąg w dokumencie programu Word przy użyciu języka C#.

// Załaduj dokument Word docx
Document doc = new Document("document.docx");
// Znajdź i zamień tekst w dokumencie
doc.Range.Replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.Forward));
// Zapisz dokument Worda
doc.Save("Find-And-Replace-Text.docx");

Wyjście

znajdź tekst w dokumencie Word za pomocą C#

Znajdź i zamień podobne słowa w dokumentach programu Word przy użyciu języka C#

Możesz także dostosować interfejs API, aby znaleźć podobne słowa i zastąpić je konkretnym słowem. Na przykład możesz znaleźć słowa „smutny” i „szalony” i zastąpić je jednym słowem. Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić podobne wyrazy w dokumencie programu Word przy użyciu języka C#.

// Załaduj dokument Word docx
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.MatchCase = true; 
// Znajdź i zamień tekst w dokumencie
doc.Range.Replace(new Regex("[B|S|M]ad"), "[replaced]", options);
// Zapisz dokument Worda
doc.Save("Find-And-Replace-Multiple-Words.docx");

Wyjście

c# zamień tekst w pliku docx

Znajdź i zamień tekst za pomocą wyrażenia regularnego w C#

Może się zdarzyć, że chcesz znaleźć i zamienić tekst, który pojawia się w określonym wzorcu. Na przykład musisz ukryć / zamienić wszystkie identyfikatory e-mail w dokumencie programu Word. W takich przypadkach możesz utworzyć wyrażenie regularne dla identyfikatorów e-mail i przekazać je do metody Document.Range.Replace(Regex, string, FindReplaceOptions).

Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić tekst na podstawie wzorca w dokumencie programu Word.

// Załaduj dokument Word docx
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.FindWholeWordsOnly = true; 
// Ustaw wyrażenie regularne dla identyfikatorów e-mail 
Regex EmailRegex = new Regex(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
// Znajdź i zamień tekst w dokumencie
doc.Range.Replace(EmailRegex, "[replaced]", options);
// Zapisz dokument Worda
doc.Save("Find-And-Replace-Text-Using-Regex.docx");

Wyjście

Jak zamienić tekst w dokumencie Word

Możesz również znaleźć i zamienić tekst w sekcjach nagłówka lub stopki dokumentu programu Word, używając klasy HeaderFooter. W tym celu używana jest metoda HeaderFooter.Range.Replace(string, string, FindReplaceOptions). Poniższy przykładowy kod pokazuje, jak zamienić tekst w nagłówku/stopce dokumentu programu Word w języku C#.

// Załaduj dokument programu Word
Document doc = new Document("document.docx");
// Dostęp do nagłówka/stopki dokumentu programu Word
HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
// Ustaw opcje
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Zastąp tekst w stopce dokumentu programu Word
footer.Range.Replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// Zapisz dokument Worda
doc.Save("Find-And-Replace-Text-in-Footer.docx");

Wyjście

Znajdowanie i zastępowanie tekstu w dokumencie programu Word w języku C#.NET

Znajdź i zamień tekst na metaznaki w dokumentach programu Word przy użyciu języka C#

Może istnieć scenariusz, w którym określony tekst lub fraza składa się z wielu akapitów, sekcji lub stron. W takich przypadkach prosta metoda znajdowania i zastępowania nie zadziałałaby skutecznie i będziemy musieli zająć się podziałami akapitów, podziałami sekcji lub podziałami stron. W tym celu Aspose.Words umożliwia użycie następujących metaznaków w ciągu wyszukiwania lub ciągu zastępczym:

  • &p: podział akapitu
  • &b: podział sekcji
  • &m: podział strony
  • &l: podział wiersza

Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić tekst na podział akapitu w dokumencie programu Word.

// Załaduj dokument Word docx
Document doc = new Document("document.docx"); 
// Ustaw opcje 
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Zastąp tekst podziałem akapitu
doc.Range.Replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Zapisz dokument Worda
doc.Save("Find-And-Replace-Text-Paragraph-Break.docx");

Wyjście

znajdź i zamień tekst za pomocą wyrażenia regularnego C#

Wniosek

W tym artykule opisano kilka przydatnych sposobów znajdowania i zastępowania tekstu w dokumencie programu Word na podstawie dopasowanych lub podobnych słów, wyrażeń i wzorców wyrażeń regularnych programowo. Funkcje te nie tylko automatyzują proces zastępowania tekstu, ale także oszczędzają wiele czasu i wysiłku wymaganego przy ręcznym znajdowaniu i zastępowaniu operacji w dokumentach programu Word. Możesz dowiedzieć się więcej o Bibliotece Word Aspose za pomocą documentation.

Powiązane artykuły)

Wskazówka: być może zainteresuje Cię darmowy Konwerter tekstu na GIF, który pozwala generować animacje z tekstów.