yani amaç bir metinde geçen istediğiniz bir kelimeyi istediğiniz ile değiştirmek istiyorsanız şu şekinde kullanın. findall komudunu ayrıca neden kullanıdınız bilmiyorum farklı bir sebebi var mı.
def extrac(metin: str):
return metin.replace("MODELKODU","URUNKODU").replace("STO KKODU","PROMOSYONKODU").replace("STOK","URUN")
print(extrac("MODELKODU nSTOKKODU nSTOK"))
ya da degisecekler kelimelerin eski ve yeni değerlerini listede belirleyip fonksiyonu o sekilde cagırabilirsiniz.
def extrac(metin: str, eski, yeni):
for i in range(len(eski)):
metin = metin.replace(eski[i],yeni[i])
return metin
eski = ["MODELKODU", "STOKKODU", "STOK"]
yeni = ["URUNKODU", "PROMOSYONKODU", "URUN"]
metin = "BU METINDEKI MODELKODU, STOKKODU VE STOK KELIMELERI DEGISECEKTIR."
print(extrac(metin,eski,yeni))ya da bir metin ve liste gondererek. liste sırasıyla önce eski sonra yeni kelime gelecek şekilde oluşturulursa örnekteki gibi kullanılabilir. eger listedeki kelime metinde geciyorsa değiştirir, geçmiyorsa zaten pass geçer.
def extrac(metin: str, liste):
for i in range(0, len(liste), 2):
metin = metin.replace(liste[i],liste[i+1])
return metin
liste = [
"MODELKODU", "URUNKODU",
"STOKKODU", "PROMOSYONKODU",
"STOK", "URUN",
"ESKI", "YENI",
"ESKI KELIME", "YENI KELIME"
]
liste = ["MODELKODU", "URUNKODU", "STOKKODU", "PROMOSYONKODU", "STOK", "URUN", "ESKI", "YENI", "ESKI KELIME", "YENI KELIME"]
metin = "BU METINDEKI MODELKODU, STOKKODU VE STOK KELIMELERI, ESKI VE ESKI KELIME DEGISECEKTIR."
metin = extrac(metin,liste)
printmetin)