Word C++'da metin bulma ve değiştirme

Bul ve değiştir, MS Word tarafından sağlanan ve belirli bir metnin tüm tekrarlarını aynı anda güncellemenizi sağlayan kullanışlı bir özelliktir. Böylece, tüm belgedeki metni manuel olarak bulup değiştirmeniz gerekmez. Bu makalede, C++ uygulamalarından Word belgelerinde metin bulmayı ve değiştirmeyi öğreneceksiniz. Bu, çok sayıda belgedeki belirli bir metni tek seferde değiştirmeniz gerektiğinde yararlı olabilir.

Metni Bulmak ve Değiştirmek için C++ API

Aspose.Words for C++, yeni Word belgeleri oluşturmaya ve mevcut Word belgelerini değiştirmeye yönelik bir C++ kitaplığıdır. API, çok çeşitli temel ve gelişmiş Word otomasyon özelliklerini destekler. API paketini indirebilir veya NuGet kullanarak kurabilirsiniz.

Install-Package Aspose.Words.Cpp

C++ kullanarak Word Belgelerinde Metin Bul ve Değiştir

Aspose.Words for C++ kullanarak Word belgelerinde metin bulma ve değiştirme adımları aşağıdadır.

  • Document sınıfını kullanarak Word belgesini yükleyin.
  • Document->getRange()->Replace(u"sad", u"bad", System::MakeObject kullanarak istenen sözcüğü değiştirin ) yöntem.
  • Güncellenen Word belgesini Document->Save(String) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C++ kullanılarak bir Word belgesinde “üzgün” sözcüğünün “kötü” ile nasıl bulunacağını ve değiştirileceğini gösterir.

// MS Word belgesini yükle
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Metni bulun ve değiştirin
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));

// Güncellenen belgeyi kaydedin 
doc->Save(u"updated.doc");

Normal İfadeleri Kullanarak Metni Bul ve Değiştir

Belirli bir kalıbı izleyen kelimeleri bulmak ve değiştirmek için normal ifadeleri de tanımlayabilirsiniz. Örneğin, “üzgün” ve “deli” kelimelerini “kötü” kelimesiyle değiştirebilirsiniz. Aşağıda, bir Word belgesinde normal bir ifadeyle eşleşen sözcükleri bulma ve değiştirme adımları yer almaktadır.

  • Document sınıfını kullanarak Word belgesini yükleyin.
  • Normal ifadeyi tanımlamak için Regex sınıfını kullanın.
  • Document->getRange()->Replace(System::MakeObject) kullanarak istenen sözcüğü değiştirinSystem::Text::RegularExpressions::Regex , u"kötü", seçenekler) yöntemi.
  • Güncellenen Word belgesini Belge->Kaydet(Dize) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C++‘da normal ifade kullanılarak metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// MS Word belgesini yükle
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Bul ve değiştir seçenekleri oluşturun
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Metni bulun ve değiştirin
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);

// Güncellenen belgeyi kaydedin 
doc->Save(u"updated.doc");

Meta Karakterleri Kullanarak Metni Bul ve Değiştir

Bazı durumlarda, değiştirmek istediğiniz metin, örneğin satır sonu, paragraf sonu, bölüm sonu vb. sonları içerebilir. Bu tür senaryolarla başa çıkmak için Aspose.Words for C++, arama ve değiştirme dizelerinde aşağıdaki meta karakterleri destekler. .

  • &p paragraf sonu için
  • &b bölüm sonu için
  • &m sayfa sonu için
  • &l manuel satır sonu için

Aşağıdaki kod örneği, bir Word belgesinde meta karakterleri kullanarak metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// MS Word belgesini yükle
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Bul ve değiştir seçenekleri oluşturun
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Metni bulun ve değiştirin
doc->get_Range()->Replace(u"This is Line 1&pThis is Line 2", u"This is replaced line", options);
doc->get_Range()->Replace(u"This is Line 1&mThis is Line 2", u"Page break is replaced with new text.", options);

// Güncellenen belgeyi kaydedin 
doc->Save(u"updated.doc");

Bul ve Değiştir İşlemi Sırasında Metni Yoksay

Aspose.Words for C++ ayrıca bul ve değiştir işlemi sırasında alanlardaki metinleri ve revizyonları yok saymanıza olanak tanır. FindReplaceOptions sınıfı, bu özelleştirmeyi eklemek için seçenekleri belirlemenizi sağlar. FindReplaceOptions sınıfı, farklı senaryolarda metni yoksaymak için aşağıdaki yöntemleri sağlar:

Aşağıdaki kod örneği, yukarıda belirtilen senaryoların her birinde metnin nasıl yoksayılacağını gösterir.

// MS Word belgesini yükle
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Bul ve değiştir seçenekleri oluşturun
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Alan içindeki metni yok sayan belgedeki 'e'yi değiştirin
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Silinen metni yok sayarak belgedeki 'e'yi değiştirin
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Girilen metni yok sayarak belgedeki 'e'yi değiştirin
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Güncellenen belgeyi kaydedin 
doc->Save(u"updated.doc");

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmaksızın denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, C++ kullanarak Word belgelerinde metin bulmayı ve değiştirmeyi gördünüz. Adım adım kılavuz ve kod örnekleri, bul ve değiştir özelliğinin farklı senaryolarda nasıl özelleştirileceğini göstermiştir. Belgelemeyi kullanarak C++ Word otomasyon API’si hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız