Bu makale, .NET veya .NET Core uygulamalarında C# kullanarak Word belgelerinde metin bulmaya ve değiştirmeye yönelik çeşitli yaklaşımları kapsar.

Bul ve Değiştir, belgelerde istenen metni hızlı bir şekilde bulmak ve değiştirmek için MS Word’ün oldukça kullanışlı bir özelliğidir. Daha uzun belgelerle çalışırken daha kullanışlı ve zaman kazandıran hale gelir. Yüzlerce Word belgesinde metin bulmanız ve değiştirmeniz gerektiğinde veya bu işlemi otomatikleştirmeniz gerektiğinde, bunu kesinlikle programlı olarak yapmayı tercih edeceksiniz. Bu nedenle, bu makalede, Word belgelerindeki metni C# kullanarak farklı senaryolarda programlı olarak nasıl bulacağınızı ve değiştireceğinizi göstereceğim. Bu makaleyi okuduktan sonra şunları yapabileceksiniz:

Bir Word Belgesinde Metni Bulmak ve Değiştirmek için C# Kitaplığı

Her şeyden önce, Visual Studio’da yeni bir C# projesi (Konsol, ASP.NET, vb.) oluşturun ve NuGet Paket Yöneticisi veya Paket Yöneticisi Konsolu aracılığıyla Aspose.Words for .NET kurun.

NuGet Paket Yöneticisi aracılığıyla yükleme

Word DOC'ta metin bulma ve değiştirme

Paket Yöneticisi Konsolu aracılığıyla yükleme

PM> Install-Package Aspose.Words

Aspose.Words for .NET’i kurduktan sonra, şimdi aşağıdaki Word belgesinde metin bulmaya ve değiştirmeye başlayalım.

c# word belgesindeki metni bul ve değiştir

C# dilinde Word Belgelerinde Metin Bul ve Değiştir

Aspose.Words for .NET kullanarak bir Word belgesindeki belirli bir metni bulma ve değiştirme adımları aşağıdadır.

FindReplaceOptions sınıfı, bul/değiştir işlemlerini özelleştirmek için çeşitli seçenekler sunar. Aşağıdaki kod örneği, C# kullanarak bir Word belgesinde belirli bir sözcüğün veya dizenin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word docx belgesi yükleyin
Document doc = new Document("document.docx");
// Belgedeki metni bulun ve değiştirin
doc.Range.Replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.Forward));
// Word belgesini kaydedin
doc.Save("Find-And-Replace-Text.docx");

Çıktı

c# kullanarak word belgesinde metin bulma

C# kullanarak Word Belgelerinde Benzer Sözcükleri Bul ve Değiştir

Benzer sözcükleri bulmak ve bunları belirli bir sözcükle değiştirmek için API’yi de özelleştirebilirsiniz. Örneğin, “üzgün” ve “deli” kelimelerini bulabilir ve bunları tek bir kelime ile değiştirebilirsiniz. Aşağıdaki kod örneği, C# kullanarak Word belgesindeki benzer sözcüklerin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word docx belgesi yükleyin
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.MatchCase = true; 
// Belgedeki metni bulun ve değiştirin
doc.Range.Replace(new Regex("[B|S|M]ad"), "[replaced]", options);
// Word belgesini kaydedin
doc.Save("Find-And-Replace-Multiple-Words.docx");

Çıktı

c# docx dosyasındaki metni değiştir

C#’ta Regex kullanarak Metni Bul ve Değiştir

Belirli bir düzende görünen metni bulmak ve değiştirmek istediğinizde durum olabilir. Örneğin, bir Word belgesindeki tüm e-posta kimliklerini gizlemeniz/değiştirmeniz gerekir. Bu gibi durumlarda, e-posta kimlikleri için bir normal ifade oluşturabilir ve bunu Document.Range.Replace(Regex, string, FindReplaceOptions) yöntemine iletebilirsiniz.

Aşağıdaki kod örneği, Word belgesindeki bir kalıba göre metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word docx belgesi yükleyin
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.FindWholeWordsOnly = true; 
// E-posta kimlikleri için normal ifade ayarlayın 
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])?");
// Belgedeki metni bulun ve değiştirin
doc.Range.Replace(EmailRegex, "[replaced]", options);
// Word belgesini kaydedin
doc.Save("Find-And-Replace-Text-Using-Regex.docx");

Çıktı

word belgesindeki metin nasıl değiştirilir

HeaderFooter sınıfını kullanarak bir Word belgesinin üstbilgi veya altbilgi bölümlerindeki metni de bulabilir ve değiştirebilirsiniz. Bu amaçla HeaderFooter.Range.Replace(string, string, FindReplaceOptions) yöntemi kullanılır. Aşağıdaki kod örneği, C#‘daki Word belgesinin üstbilgisinde/altbilgisindeki metnin nasıl değiştirileceğini gösterir.

// Bir Word belgesi yükleyin
Document doc = new Document("document.docx");
// Word belgesinin üstbilgisine/altbilgisine erişme
HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
// Seçenekleri ayarla
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Word belgesinin altbilgisindeki metni değiştirin
footer.Range.Replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// Word belgesini kaydedin
doc.Save("Find-And-Replace-Text-in-Footer.docx");

Çıktı

Word Belgesi C#.NET'te Metin Bulma ve Değiştirme

C# kullanarak Word Belgelerinde Metni Meta Karakterlerle Bul ve Değiştir

Belirli bir metnin veya ifadenin birden çok paragraftan, bölümden veya sayfadan oluştuğu bir senaryo olabilir. Bu gibi durumlarda, basit bul ve değiştir yöntemi etkili bir şekilde çalışmaz ve paragraf sonlarını, bölüm sonlarını veya sayfa sonlarını halletmemiz gerekir. Bunun için Aspose.Words, arama dizisinde veya değiştirme dizisinde aşağıdaki meta-karakterleri kullanmanıza izin verir:

  • &p: paragraf sonu
  • &b: bölüm sonu
  • &m: sayfa sonu
  • &l: satır sonu

Aşağıdaki kod örneği, bir Word belgesinde paragraf sonu içeren metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word docx belgesi yükleyin
Document doc = new Document("document.docx"); 
// Seçenekleri ayarla 
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Metni paragraf sonu ile değiştir
doc.Range.Replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Word belgesini kaydedin
doc.Save("Find-And-Replace-Text-Paragraph-Break.docx");

Çıktı

C# normal ifadesini kullanarak metni bulun ve değiştirin

Çözüm

Bu makale, bir Word belgesinde eşleşen veya benzer sözcüklere, tümceciklere ve normal ifade kalıplarına dayalı olarak program aracılığıyla metin bulmanın ve değiştirmenin bazı yararlı yollarını kapsar. Bu özellikler yalnızca metin değiştirme işlemini otomatikleştirmekle kalmaz, aynı zamanda Word belgelerinde el ile bulma ve değiştirme işleminde gereken zamandan ve emekten de tasarruf etmenizi sağlar. Belgelemeyi kullanarak Aspose’un Word Kitaplığı hakkında daha fazla bilgi edinebilirsiniz.

İlgili Makaleler)

İpucu: Metinlerden animasyonlar oluşturmanıza olanak tanıyan ücretsiz bir Metinden GIF’e Dönüştürücü ilginizi çekebilir.