Merhaba arkadaşlar,
Zamanın acemilidiğini çekmiş biri olarakdan başlangıç seviyesinde bir uygulama yapmak istedim.
Bu makalemde metin editörlerinde sıkça rastladığımız olay olan bul ve değiştiri ele alacağız.
C# ve VB içerisinde hazır olarak da bulunan bu komutun olmadığını düşünerekten ve maksat algoritma geliştirmek amacıyla bu işlemi nasıl yapacağımıza bakalım.
İlk olarak kodlarımızda kullandığımız metotları açıklayarak işe başlayalım.
C# için string VB için String olan
değişkenimizin metodu olan;
Insert(startIndex, value): string/String'in içerisine başlangıç değerinden itibaren value değerini ekler.
Remove(startIndex, count): string/String'in içerisinde başlangıç noktasından itibaren count değeri kadar veri siler.
IndexOf(value): string/String'in içindeki value değerinin başlangıç noktasını bulur. Geriye int/Integer olarak döner.
Şimdi gelelim kodlarımıza;
[C#]
public string BulveDegistir(string Metin, string arananMetin, string yeniMetin)
{
// İlk olarak yeniMetin'i Metin'e ekliyoruz
Metin = Metin.Insert(Metin.IndexOf(arananMetin), yeniMetin);
// Daha sonra arananMetin'i Metin'den siliyoruz
Metin = Metin.Remove(Metin.IndexOf(arananMetin), arananMetin.Length);
return Metin;
}
[VB]
Public Function BulveDegistir(ByVal Metin As String, ByVal arananMetin As String, ByVal yeniMetin As String) As String
' İlk olarak yeniMetin'i Metin'e ekliyoruz
Metin = Metin.Insert(Metin.IndexOf(arananMetin), yeniMetin)
' Daha sonra arananMetin'i Metin'den siliyoruz
Metin = Metin.Remove(Metin.IndexOf(arananMetin), arananMetin.Length)
Return Metin
End Function
Evet bul ve değiştir işlemlerimizi birer alt program olarak yazdık bunları bir sınıf içine ekleyerekde sürekli kullanılabilir durumda bekletebiliriz.
Yeni başlayan arkadaşlar için belirtmekte fayda görüyorum;
Bu alt programlara erişmek için;
[C#]: string Metin = BulveDegistir(txtMetin.Text, txtArananMetin.Text, txtYeniMetin.Text);
[VB]: Dim Metin As String = BulveDegistir(txtMetin.Text, txtArananMetin.Text, txtYeniMetin.Text)
Deyimlerini kullanırız.