Selam arkadaşlar regex ile {[]} parantezlerinin içindeki veriyi ayıklamak istiyorum. Yani şöyle bir satır var; {data[link:'facebook.com', baslik:'Facebook']}, {data[link:'google.com', baslik:'Google']}, {data[link:'youtube.com', baslik:'Youtube']}

Şöyle bi satır yazdım ama olmadı,

MatchCollection datas = Regex.Matches(json, "{data[(.*?)]}");
        for (int i = 0; i < datas.Count; i++)
        {
            string data = datas[i].Groups[1].Value;
            Match baslik = Regex.Match(data, "baslik:'(.*?)'");
            Match link = Regex.Match(data, "link:'(.*?)'");
}

soruldu: 16 Ara '14, 10:26

furkan93's gravatar image

furkan93
(üyeliği donduruldu)
cevap kabul oranı: 7%


Daha önceden yazdığım bir metodu kullanarak sana yardımcı olmaya çalışacağım

   public void Parcala()
    {
        string json = "{data[link:'facebook.com', baslik:'Facebook']}, {data[link:'google.com', baslik:'Google']}, {data[link:'youtube.com', baslik:'Youtube']}";

        MatchCollection datas = GetRegexMatches(json, '\\'', '\\'');
        for (int i = 0; i < datas.Count; i = i + 2)
        {
            string link = datas[i].Value.Replace("'", "");
            string baslik = datas[i + 1].Value.Replace("'", "");
            Console.WriteLine("{0}-{1}", link, baslik);
        }

    }

    /// <summary>
    /// Gönderilen metin içindeki belirtilen karakterler arasındaki değerlerin listesini döndürür
    /// </summary>
    /// <param name="metin">Eşleştirmede kullanılacak metin ifadesi</param>
    /// <param name="baslangicKarakteri">Eşleştirme başlangıç karakteri</param>
    /// <param name="bitisKarakteri">Eşleştirme bitiş karakteri</param>
    /// <returns></returns>
    public static MatchCollection GetRegexMatches(string metin, char baslangicKarakteri = '<', char bitisKarakteri = '>')
    {
        var pattern = string.Format(@"\\{0}(.*?)\\{1}", baslangicKarakteri, bitisKarakteri);
        var matches = Regex.Matches(metin, pattern);
        return matches;
    }

İyi çalışmalar

permanent link

cevaplandı: 16 Ara '14, 15:26

M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Müslüm ÖZTÜRK
10.7k103691
cevap kabul oranı: 28%

değiştirildi: 16 Ara '14, 15:29

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1
×1

Soruldu: 16 Ara '14, 10:26

Görüntüleme: 344 kez

Son güncelleme: 16 Ara '14, 15:29

Benzer sorular

powered by BitNami OSQA