17.10.2019

Word'de Regular Expression ile bul ve değiştir

Varsayalım ki bir belgemiz var ve bu belgenin içinde tarihler 2019-10-17 şeklinde yazılmış. Biz bu belge içinde geçen bütün bu tarihleri 17.10.2019 şekline dönüştürmek istiyoruz. Bunlar çok sayıda olduğu için elle yapmadan, otomatik olarak yapmak istiyoruz. Bunun için Ctrl+H ile Word'ün bul ve değiştir diyaloğunu açmalı, özel karakterler (Use Wildcards) işaret kutusunu (checkbox) işaretlemeliyiz.

Bulunacak kelime kutusuna şu şekilde bir giriş yapmalıyız:
[0-9]{4}\-[0-9]{2}\-[0-9]{2}
Burada kırmızı ile yazılan ilk bölüm, 4 haneli bir sayıyı (yıl), mavi ve yeşil ile yazılan ikinci ve üçüncü bölümler de iki haneli sayıları (sırasıyla ay ve gün) bulmak için. Amacımız ayın gününü başa, yılı sona getirmek olduğu için bulunan bu tarih alanlarını bölümlere ayırmamız gerek. Bu amaçla parantezleri kullanacağız. Her parantez içi, 1'den başlayarak artan sayılarla ilişkilendirilecek. Bunun sonucunda aşağıdaki gibi ilk bulunan 4 haneli yılı gösteren sayı 1 sayısıyla, ikinci bulunan iki haneli ayı gösteren sayı 2 sayısıyla, ve sondaki ayın gününü gösteren iki haneli sayı da 3 sayısıyla ilişkilendirildi.
([0-9]{4})\-([0-9]{2})\-([0-9]{2})
 --------    --------    --------
     \1         \2          \3
Ve nihayetinde değiştirme kutusuna da şunları yazmamız gerekecek:

\3.\2.\1
Bu şekilde 3. sırada bulunan ayın gününü ilk başa, ayı ortaya ve 1. sırada bulunan yılı en sona yazıp, bunları noktalarla ayırmayı seçmiş oluyoruz.

Hiç yorum yok: