Bul ve Değiştir
Bir klavye ve fare kullanarak belgenizde kolayca gezinebilirsiniz, ancak kaydırmanız gereken çok sayfanız varsa, uzun bir belgede belirli bir metni bulmak oldukça zaman alacaktır. Belgenizde kullandığınız belirli karakterleri veya sözcükleri değiştirmek istediğinizde daha fazla zaman alacaktır. “Bul ve değiştir” işlevi, bir belgede bir karakter dizisi bulmanızı ve onu başka bir karakter dizisiyle değiştirmenizi sağlar.
Aspose.Words, belgenizde belirli bir dize veya normal ifade deseni bulmanızı ve Microsoft Word gibi ek uygulamalar yüklemeden ve kullanmadan onu bir alternatifle değiştirmenizi sağlar. Bu, birçok yazma ve biçimlendirme görevini hızlandıracak ve potansiyel olarak size çalışma saatleri kazandıracaktır.
Bu makalede, metakarakterlerin desteğiyle dize değiştirme ve normal ifadelerin nasıl uygulanacağı açıklanmaktadır.
{#ways-to-find-and-replace} Bulma ve Değiştirme Yolları
Aspose.Words aşağıdakileri kullanarak bul ve değiştir işlemini uygulamak için iki yol sağlar:
- Simple string replacement - belirli bir dizeyi başka bir dizeyle bulup değiştirmek için, belirtilen başka bir değiştirme dizesiyle tüm oluşumlara göre değiştirilecek bir arama dizesi (alfasayısal karakterler) belirtmeniz gerekir. Her iki dize de sembol içermemelidir. Dize karşılaştırmasının büyük/ küçük harfe duyarlı olabileceğini veya yazımdan emin olamayacağınızı veya birkaç benzer yazımın olduğunu göz önünde bulundurun.
- Regular expressions - tam dize eşleşmelerini bulmak için bir normal ifade belirtmek ve bunları normal ifadenize göre değiştirmek için. Bir kelimenin yalnızca alfasayısal karakterlerden oluştuğu şeklinde tanımlandığını unutmayın. Yalnızca tüm sözcükler eşleştirilerek bir değiştirme gerçekleştirilirse ve giriş dizesi semboller içeriyorsa, hiçbir sözcük öbeği bulunmaz.
Ayrıca, bul ve değiştir işlemindeki sonları belirtmek için basit dize değiştirme ve normal ifadelere sahip özel meta karakterler kullanabilirsiniz.
Aspose.Words bul ve değiştir işlevini Aspose.Words.Replacing ad alanıyla sunar. FindReplaceOptions sınıfını kullanarak bul ve değiştir işlemi sırasında birçok seçenekle çalışabilirsiniz.
Basit Dize Değiştirme {#find-and-replace-text-using-simple-string-replacement} Kullanarak Metni Bulun ve Değiştirin
Belirli bir dizeyi bulmak veya değiştirmek ve yapılan değiştirme sayısını döndürmek için Replace yöntemlerinden birini kullanabilirsiniz. Bu durumda, değiştirilecek bir dize, tüm oluşumlarının yerini alacak bir dize, değiştirmenin büyük / küçük harfe duyarlı olup olmadığını ve yalnızca tek başına sözcüklerin etkilenip etkilenmeyeceğini belirtebilirsiniz.
Aşağıdaki kod örneği, “CustomerName” dizesini nasıl bulacağınızı ve “James Bond” dizesiyle nasıl değiştireceğinizi gösterir:
Basit dize değiştirmeyi uygulamadan önce belge arasındaki farkı fark edebilirsiniz:
Ve basit dize değiştirme uyguladıktan sonra:
Normal İfadeleri Kullanarak Metni Bulun ve Değiştirin
Normal ifade (normal ifade), belirli bir metin dizisini tanımlayan bir kalıptır. Bir sözcüğün tüm çift oluşumlarını tek bir sözcük oluşumuyla değiştirmek istediğinizi varsayalım. Ardından, çift kelime desenini belirtmek için aşağıdaki normal ifadeyi uygulayabilirsiniz: ([a-zA-Z]+) \1
.
Eşleşmeleri bulmak için Regex
parametresini normal ifade deseni olarak ayarlayarak belirli karakter kombinasyonlarını aramak ve değiştirmek için diğer Replace yöntemini kullanın.
Aşağıdaki kod örneği, normal ifade deseniyle eşleşen dizelerin belirtilen bir değiştirme dizesiyle nasıl değiştirileceğini gösterir:
Normal ifadelerle dize değiştirme uygulamadan önce belge arasındaki farkı fark edebilirsiniz:
Ve normal ifadelerle dize değiştirme uyguladıktan sonra:
{#find-and-replace-text-using-metacharacters} Meta Karakterlerini Kullanarak Dizeyi Bulun ve Değiştirin
Belirli bir metin veya tümcecik birden çok paragraf, bölüm veya sayfadan oluşuyorsa, arama dizesindeki meta karakterleri veya değiştirme dizesini kullanabilirsiniz. Meta karakterlerden bazıları paragraf sonu için &p, bölüm sonu için &b, sayfa sonu için &m ve satır sonu için &l içerir.
Aşağıdaki kod örneği, metnin paragraf ve sayfa sonu ile nasıl değiştirileceğini gösterir:
Bir Belgenin Üstbilgisinde / Altbilgisinde Dizeyi Bulun ve Değiştirin
HeaderFooter sınıfını kullanarak bir Word belgesinin üstbilgi/altbilgi bölümündeki metni bulabilir ve değiştirebilirsiniz.
Aşağıdaki kod örneği, belgenizdeki üstbilgi bölümünün metninin nasıl değiştirileceğini gösterir:
Üstbilgi dizesi değiştirmeyi uygulamadan önce belge arasındaki farkı fark edebilirsiniz:
Ve başlık dizesi değiştirme uygulandıktan sonra:
Belgenizdeki altbilgi bölümünün metnini değiştirmek için kullanılan kod örneği, önceki üstbilgi kodu örneğine çok benzer. Tek yapmanız gereken aşağıdaki iki satırı değiştirmek:
auto header = headersFooters->idx_get(HeaderFooterType::HeaderPrimary);
header->get_Range()->Replace(u"Aspose.Words", u"Remove", options);
Aşağıdakilerle:
auto footer = headersFooters->idx_get(HeaderFooterType::FooterPrimary);
footer->get_Range()->Replace(u"(C) 2006 Aspose Pty Ltd.", u"Copyright (C) Aspose Pty Ltd.", options);
Altbilgi dizesi değiştirmeyi uygulamadan önce belge arasındaki farkı fark edebilirsiniz:
Ve altbilgi dizesini değiştirdikten sonra:
{#ignore-text-during-find-and-replace} Bul ve Değiştir Sırasında Metni Yoksay
Bul ve değiştir işlemini uygularken metnin belirli bölümlerini yoksayabilirsiniz. Bu nedenle, metnin belirli bölümleri aramadan çıkarılabilir ve bul ve değiştir yalnızca kalan kısımlara uygulanabilir.
Aspose.Words metni yok saymak için aşağıdaki gibi birçok bul ve değiştir özelliği sağlar IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, ve IgnoreInserted.
Aşağıdaki kod örneği, düzeltmeleri sil içindeki metnin nasıl yoksayılacağını gösterir:
Bul ve Değiştir İşlemini Özelleştir
Aspose.Words, metni bulmak ve değiştirmek için ApplyFont ve ApplyParagraphFormats özellikleriyle belirli bir biçim uygulamak, UseSubstitutions özelliğine sahip değiştirme kalıplarındaki ikameleri kullanmak ve diğerleri gibi birçok farklı properties sağlar.
Aşağıdaki kod örneği, belgenizdeki belirli bir sözcüğün nasıl vurgulanacağını gösterir:
Aspose.Words değiştirme işlemi sırasında özel bir yöntem oluşturmak ve çağırmak için IReplacingCallback arabirimini kullanmanıza izin verir. Normal ifadeyle belirtilen metni HTML etiketleriyle değiştirmek gibi bul ve değiştir işlemini özelleştirmeniz gereken bazı kullanım durumlarınız olabilir, bu nedenle temel olarak HTML ekleyerek değiştir’i uygulayacaksınız.
Bir dizeyi HTML etiketiyle değiştirmeniz gerekirse, bul ve değiştir işlemini özelleştirmek için IReplacingCallback arabirimini uygulayın, böylece eşleşme, belgenizin eşleşme düğümüyle çalışmanın başında başlar. IReplacingCallback kullanmanın birkaç örneğini verelim.
Aşağıdaki kod örneği, HTML ile belirtilen metnin nasıl değiştirileceğini gösterir:
Aşağıdaki kod örneği, yeşil renkli pozitif sayıların ve kırmızı renkli negatif sayıların nasıl vurgulanacağını gösterir:
Aşağıdaki kod örneği, her satıra bir satır numarasının nasıl ekleneceğini gösterir: