Bir web sayfasının (Bir programcının dünyası, Karalamalar, Fatih Durğut, NTVMSNBC, Wikipedia gibi..) içeriğini okuduktan sonra, Html taglarından ayıklayıp bir sözlük oluşturabiliriz.
Bu yazımda, C# ve Regex kullanarak böyle bir uygulamayı nasıl yazabileceğimizi anlatacağım.
Yukarıdaki resimdeki formu oluşturduysanız, Button‘un Click olayını yazmaya başlayalım;
WebRequest wr = WebRequest.Create(txtAdres.Text); WebResponse ws = wr.GetResponse(); StreamReader sr = new StreamReader(ws.GetResponseStream(), Encoding.UTF8); string response = sr.ReadToEnd(); sr.Close(); ws.Close();
List<string> arrSozluk = new List<string>(); Regex r = new Regex(“<(.|\n)?>”); foreach (string satir in r.Replace(response, “”).Split(“ \t\r\n({[]}),.;:-+/?<>&%’#@="\_“.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)) if (!arrSozluk.Contains(satir.Trim())) arrSozluk.Add(satir.Trim());
StringBuilder sb = new StringBuilder(); foreach (string satir in arrSozluk) sb.AppendLine(satir);
txtSozluk.Text = sb.ToString();
Regex nesnesi ile Html taglarını, response‘tan siliyoruz. Daha sonra, kelimeleri bölmek için Split fonksiyonunu kullanıyoruz.
Generic List sınıfından bir nesneye her bir kelimeyi ekliyoruz.
Son olarakta, Generic List içerisindeki kelimeleri TextBox aracılığı ile ekrana yazdırıyoruz.
Uygulamanın kaynak kodlarına buradan erişebilirsiniz.
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484