Bağlantı Metinlerindeki Geçersiz Karakterleri Geçerli Karakterler İle Değiştirme

Bu makalemde genellikle sayfa url bilgilerinde bize sorun çıkaran Türkçe ve geçersiz diğer karakterleri nasıl değiştireceğimizi anlatıyorum.

Bu makalemde genellikle sayfa url bilgilerinde bize sorun çıkaran Türkçe ve geçersiz diğer karakterleri nasıl değiştireceğimizi anlatıyorum.

Bu işlem için string değişkeninin Replace(değiştir) metodunu kullanacağız. İlk olarak Replace metodu nasıl çalışır buna bakalım;


string metin="mustafaçiçek"; // 'diye bir değerimiz olsun...




Replace("EskiDeğer","YeniDeğer"); //Burada gördüğünüz gibi EskiDeğer'i YeniDeğer ile değiştirir.




metin=metin.Replace("ç","c"); //'sonuç: "mustafacicek" olacaktır.



Umarım bu kısım anlaşılmıştır.

Şimdi gelelim kodlarımıza bu fonksiyonumuzu sürekli ver her yerde kullanabilmek için bir alt program olarak yazmayı tercih ettim. Onun için nesne ekleme yazdırma gibi olaylara girmeyeceğim.


public string BaglantiMetniniDuzelt(string BaglantiMetni) 

        {

            // Bağlantı metnini küçük harfe çevir.

            BaglantiMetni = BaglantiMetni.ToLower();

            // Burada bağlantı metinlerindeki geçersiz karakterleri bir diziye aktarıyoruz.

            string[] GecersizKarakterler = { "ğ", "ü", "ş", "ç", "ö", "ı",":", "_", ".", "-", " ", "!", "'", "^", "#", "+", "$", "%", "&", "/", "{", "(", "[", "]", ")", "=", "}", "?", """ };

            // Burada da geçerli olan karakterleri atıyoruz.

            string[] GecerliKarakterler = { "g", "u", "s", "c", "o", "i", "-", "-", "-", "", "-", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" };

            // Bu iki dizide dikkat etmeniz gereken yer;

            // İlk dizideki 0. karakterin karşılığı ikinci dizide 0. eleman olucak şekilde ayarlanmıştır.

            // Yani geçersiz karakterin karşılığının mutlaka ikinci dizide geçerli karakter olarak bulunması gerekiyor.



            // Burada eğer bütün karakterler eşit ise metnimizi düzenliyoruz.

            if (GecersizKarakterler.Length == GecerliKarakterler.Length)

            {

                // Döngümüz ile dizideki karakter sayısı kadar dönüp bütün karakterleri bağlantı metninde arıyoruz.

                for (int i = 0; i < GecerliKarakterler.Length; i++)

                {

                    // ve bulunan geçersiz karakteri yenisi ile değiştiriyoruz.

                    BaglantiMetni = BaglantiMetni.Replace(GecersizKarakterler, GecerliKarakterler);

                }

            }

            // else { Karakter sayıları eşit değil; }

            // Yeni bağlantı metnimizi geri gönderiyoruz.

            return BaglantiMetni;

        }



Bu fonksiyona değer gönderme işlemi şu şekilde; BaglantiMetniniDuzelt ("http://www.sanalkurs.net/denemebağlantısı"); olacaktır.

Bunun çıktısı ise; "httpwwwsanalkursnetdenemebaglantisi" şeklinde olacaktır.

Umarım faydalı olur. Bir sonraki makalede görüşmek üzere...
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git