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)