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 veya 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 alfanümerik 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, bul ve değiştir işlevini aspose.words.replacing modülüyle 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 ve replace_regex 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
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.writeln("Hello _CustomerName_,")
print("Original document text: " + doc.range.text)
doc.range.replace("_CustomerName_", "James Bond", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))
print("Document text after replace: " + doc.range.text)
# Save the modified document
doc.save(docs_base.artifacts_dir + "FindAndReplace.simple_find_replace.docx")
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, 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 bulma modeli olarak normal ifade parametresini ayarlayarak belirli karakter birleşimlerini aramak ve değiştirmek için replace_regex 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:
Metacharacters {#find-and-replace-text-using-metacharacters}‘i kullanarak Dizeyi Bulun ve Değiştirin
Belirli bir metin veya tümcecik birden fazla paragraf, bölüm veya sayfadan oluşuyorsa, arama dizesinde veya değiştirme dizesinde meta karakterleri 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:
header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.HEADER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)
Takip ederek:
header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", 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 yalnızca geri kalan bölümlere uygulanabilir.
Aspose.Words, ignore_deleted, ignore_fields ve ignore_inserted gibi metni yok saymak için 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 apply_font ve apply_paragraph_formats özellikleriyle belirli bir format uygulamak, değiştirme modellerinde use_substitutions özelliğiyle ikameleri kullanmak ve diğerleri gibi birçok farklı özellik sağlar.
Aşağıdaki kod örneği, belgenizdeki belirli bir sözcüğün nasıl vurgulanacağını gösterir: