Python: re.search – replace

Python’da re.search ve replace fonksiyonları ile metnin içinden belli bir bölümü çekme ve istenilen karakterleri değiştirme.

re.search:

Python’da re.search fonksiyonunu kullanarak metinin belli bir bölgesini çekmek için aşağıdaki örneklerden faydalanabiliriz.
Örnek Metin: “Ortadaki kelimeyi istiyorum”
İstenen kısım: “kelimeyi”
istediğimiz alan “daki” kalıbı ile “isti” kalıbının arası olduğu için kodu şu şekilde yazabiliriz. ⇩

import re
a= "ortadaki kelimeyi istiyorum"
print (re.search("daki(.+?)isti",a).group(1))

Peki eğer isteğimiz şu şekilde olsaydı
Örnek Metin: “Ortadaki kelimeyi isiyorum”
İstenilen kısım: “daki kelimeyi isti”
O zaman group fonksiyonunu (0) yaparak istediğimiz alanı her iki tarafındaki kalıplarla beraber alabiliriz. ⇩

import re
a= "ortadaki kelimeyi istiyorum"
print (re.search("daki(.+?)isti",a).group(0))

Örnek Metin: “ortadaki kelimeyi isiyorum”
İstenilen kısım: “daki kelimeyi istiyorum”

import re
a= "ortadaki kelimeyi istiyorum"
print (re.search("daki(.+?)",a).group(1))

replace:

replace fonksiyonu ile bir metnin içindeki karakterleri başka biriyle değiştirebilir veya silebiliriz.
Örneğin aşağıdaki örnekte istenilen kısımı alalım ama “i” harflerini almayalım.
Örnek Metin: “Ortadaki kelimeyi istiyorum”
İstenilen kısım ve şekil : “kelmey”
Bu durumda kodumuzu aşağıdaki şekilde yazmalıyız. ⇩

import re
a= "ortadaki kelimeyi istiyorum"
a=(re.search("daki(.+?)isti",a).group(1))
a=a.replace("i","")
print(a)

Bu sefer de “i” harflerini “e” harfleri ile değiştirelim.
Örnek Metin: “Ortadaki kelimeyi istiyorum”
İstenilen kısım ve şekil : “kelemeye”. ⇩

import re
a= "ortadaki kelimeyi istiyorum"
a=(re.search("daki(.+?)isti",a).group(1))
a=a.replace("i","e")
print(a)

Aşağıdaki örnekte numerik karakterler dışında karakterler içeren bir metni arındırıp “int” haline getirelim.
Örnek Metin: $5.514 (string)
İstenilen şekil: 5514 (int) ⇩

tutar = ("$5.514")
tutar = tutar.replace("$","").replace(".","")
tutar = int (tutar)
print(tutar)

Yorum Gönderin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir