Bul ve Değiştir
Klavye ve fareyi kullanarak belgenizde kolayca gezinebilirsiniz, ancak kaydırılacak çok sayıda sayfanız varsa, uzun bir belgede belirli bir metni bulmak oldukça zaman alacaktır. Belgenizde kullandığınız belirli karakterleri veya kelimeleri değiştirmek istediğinizde daha fazla zaman harcayacaksınız. “Bul ve değiştir” işlevi, bir belgedeki bir karakter dizisini bulmanızı ve bunu başka bir karakter dizisiyle değiştirmenizi sağlar.
Aspose.Words, belgenizde belirli bir dize veya düzenli ifade kalıbı 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 saatlerce çalışmanızdan tasarruf etmenizi sağlayacaktır.
Bu makalede, meta karakterlerin desteğiyle dize değişiminin ve normal ifadelerin nasıl uygulanacağı açıklanmaktadır.
{#ways-to-find-and-replace}‘i Bulmanın ve Değiştirmenin Yolları
Aspose.Words, aşağıdakileri kullanarak bul ve değiştir işlemini uygulamak için iki yol sağlar:
- Basit dize değiştirme – belirli bir dizeyi bulmak ve başka bir dizeyle değiştirmek için, tüm oluşumlara göre başka bir belirtilen değiştirme dizesiyle 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 olamayabileceğinizi ya da birkaç benzer yazımınız olabileceğini göz önünde bulundurun.
- Normal ifadeler – tam dize eşleşmelerini bulmak ve bunları normal ifadenize göre değiştirmek amacıyla bir normal ifade belirtmek için. Bir kelimenin yalnızca alfasayısal karakterlerden oluştuğu şeklinde tanımlandığını unutmayın. Değiştirme yalnızca tam sözcükler eşleştirilerek yürütülürse ve giriş dizesi simgeler içeriyorsa, hiçbir sözcük öbeği bulunamaz.
Ayrıca, bulma ve değiştirme işlemindeki kesintileri belirtmek için basit dize değiştirme ve normal ifadelere sahip özel meta karakterler kullanabilirsiniz.
Aspose.Words, bulma ve değiştirme işlevini Aspose.Words.Replacing ad alanıyla sunar. FindReplaceOptions sınıfını kullanarak bulma ve değiştirme işlemi sırasında birçok seçenekle çalışabilirsiniz.
Basit Dize Değiştirme {#find-and-replace-text-using-simple-string-replacement}‘i Kullanarak Metni Bulma ve Değiştirme
Belirli bir dizeyi bulmak veya değiştirmek ve yapılan değişiklik sayısını döndürmek için Replace yöntemlerinden birini kullanabilirsiniz. Bu durumda, değiştirilecek bir dizeyi, tüm oluşumlarının yerini alacak bir dizeyi, değiştirmenin büyük/küçük harfe duyarlı olup olmayacağını ve yalnızca bağımsız sözcüklerin etkilenip etkilenmeyeceğini belirtebilirsiniz.
Aşağıdaki kod örneği, “CustomerName” dizesinin nasıl bulunacağını ve onu “James Bond” dizesiyle nasıl değiştireceğinizi gösterir
Basit dize değişimini uygulamadan önce belge arasındaki farkı fark edebilirsiniz:
Ve basit dize değişimini uyguladıktan sonra:
Normal İfadeler {#find-and-replace-text-using-regular-expressions} Kullanarak Metni Bulma ve Değiştirme
Düzenli ifade (regex), belirli bir metin dizisini tanımlayan bir kalıptır. Bir kelimenin tüm çift geçişlerini tek bir sözcük geçişiyle değiştirmek istediğinizi varsayalım. Daha sonra çift sözcük modelini belirtmek için şu normal ifadeyi uygulayabilirsiniz: ([a-zA-Z]+) \1
.
Eşleşmeleri bulmak için Regex
parametresini normal ifade modeli olarak ayarlayarak belirli karakter birleşimlerini aramak ve değiştirmek için diğer Replace yöntemini kullanın.
Aşağıdaki kod örneği, normal ifade düzeniyle eşleşen dizelerin belirtilen değiştirme dizesiyle nasıl değiştirileceğini gösterir:
Düzenli ifadelerle dize değişimini uygulamadan önce belge arasındaki farkı fark edebilirsiniz:
Ve normal ifadelerle dize değişimini uyguladıktan sonra:
Meta Karakterler {#find-and-replace-text-using-metacharacters}‘i Kullanarak Dizeyi Bulma ve Değiştirme
Belirli bir metin veya tümcecik birden fazla paragraf, bölüm veya sayfadan oluşuyorsa, arama dizesinde veya değiştirme dizesinde meta karakterler kullanabilirsiniz. Meta karakterlerden bazıları paragraf sonu için &P‘i, bölüm sonu için &B‘yi, sayfa sonu için &M‘i ve satır sonu için & ben‘i içerir.
Aşağıdaki kod örneği, metnin paragraf ve sayfa sonuyla nasıl değiştirileceğini gösterir:
Bir Belge {#find-and-replace-string-in-header-or-footer-of-a-document}‘in Üstbilgi/Altbilgisindeki Dizeyi Bulma ve Değiştirme
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 başlık bölümünün metninin nasıl değiştirileceğini gösterir:
Başlık dizesini değiştirmeden önce belge arasındaki farkı fark edebilirsiniz:
Ve başlık dizesi değişimini uyguladıktan sonra:
Belgenizdeki alt bilgi bölümünün metnini değiştirmeye yönelik kod örneği, önceki başlık kodu örneğine çok benzer. Tek yapmanız gereken aşağıdaki iki satırı değiştirmek:
HeaderFooter header = headersFooters[HeaderFooterType.HeaderPrimary];
header.Range.Replace("Aspose.Words", "Remove", options);
Takip ederek:
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
int currentYear = System.DateTime.Now.Year;
footer.Range.Replace("(C) 2006 Aspose Pty Ltd.", $"Copyright (C) {currentYear} by Aspose Pty Ltd.", options);
Altbilgi dizesini değiştirmeden önce belge arasındaki farkı fark edebilirsiniz:
Altbilgi dizesinin değiştirilmesini uyguladıktan 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 göz ardı edebilirsiniz. Böylece metnin belirli bölümleri aramanın dışında tutulabilir ve bul ve değiştir işlemi yalnızca geri kalan bölümlere uygulanabilir.
Aspose.Words, metni yok saymak için IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes ve IgnoreInserted gibi birçok bul ve değiştir özelliği sağlar.
Aşağıdaki kod örneği, silme düzeltmelerinin içindeki metnin nasıl yoksayılacağını gösterir:
{#customize-find-and-replace-operation} Bul ve Değiştir İşlemini Özelleştirme
Aspose.Words, metni bulmak ve değiştirmek için ApplyFont ve ApplyParagraphFormats özellikleriyle belirli formatı uygulamak, UseSubstitutions özelliğiyle değiştirme modellerinde 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 arayüzünü kullanmanıza olanak tanır. Normal ifadeyle belirtilen metni HTML etiketleriyle değiştirmek gibi bulma ve değiştirme işlemini özelleştirmeniz gereken bazı kullanım durumlarınız olabilir, bu nedenle temel olarak değiştirmeyi HTML ekleyerek uygulayacaksınız.
Bir dizeyi bir HTML etiketiyle değiştirmeniz gerekiyorsa, bulma ve değiştirme işlemini özelleştirmek için IReplacingCallback arayüzünü uygulayın; böylece eşleşme, belgenizin eşleşme düğümüyle bir çalıştırmanın başlangıcında başlar. IReplacingCallback kullanımına ilişkin birkaç örnek 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, pozitif sayıların yeşil renkle ve negatif sayıların kırmızı renkle nasıl vurgulanacağını gösterir:
Aşağıdaki kod örneği, her satırın başına satır numarasının nasıl ekleneceğini gösterir: