TFİ 111 - Dosya Adı İçinden Geçersiz Karakterleri Çıkartmak

Merhaba Arkadaşlar,

Diyelim ki elinizde bir takım dosya adları var. Bu dosya adları herhangi bir kaynaktan okunuyor. Ancak bazı dosya adlarında geçersiz karakterler yer aldığını tespit ediyorsunuz(? : < vb) Siz de dosya adlarını kendi uygulamanız içerisinde değerlendirirken bu geçersiz karakterlerden arındırarak hareket etmek niyetindesiniz. Ne yaparsınız? Bunun için bir genişletme fonksiyonu(extension method) yazmak isteseniz nasıl hareket edersiniz? Yoksa aşağıdaki gibi bir metod işinize yarar mı?

Bir başka ipucunda görüşmek dileğiyle, hepinize mutlu günler dilerim.

Yorumlar (3) -

  • Gecenin yarisinda ipucunu gorup asagidaki kodu yazmadan uyuyamadim. Bu da baska bir versiyonu olsun Smile

    public static class StringExtensions
    {
        private static readonly IEnumerable<char> _allInvalidChars;

        static StringExtensions()
        {
            _allInvalidChars = Path.GetInvalidFileNameChars().Concat(Path.GetInvalidPathChars());
        }

        public static string RemoveIllegalChars(this string source)
        {
            return new string(source.Where(f => !(_allInvalidChars.Contains(f))).ToArray());
        }
    }
    • Merhabalar Ömer Bey,

      Çok teşekkürler değerli yorumunuz için. Bence gayet şık bir kod parçası olmuş sizinki de Smile
    • IEnumerable yerine HashSet kullanılabilir. bu kod her bir karakter için .Concat methodunu çalıştıracak.

Yorum ekle

Loading