SORU
9 EKİM 2008, PERŞEMBE


# - C bir dize inci oluşumu adres bilgisi?

Bariz bir yöntem dahili eksik olduğum sürece bir dize içinde bir dize inci geçtiği almak için en hızlı yolu nedir.

Başlangıç dizini ile adres bilgisi yöntemi her döngüde güncellenmekte döngü yapabilirim ama bana gereksiz geliyor.

CEVAP
9 EKİM 2008, PERŞEMBE


Gerçekten düzenli ifade /(.*?){n}/ n-bu dizenin geçtiği aramak için.

C# bu gibi görünebilir:

public static class StringExtender
{
    public static int NthIndexOf(this string target, string value, int n)
    {
        Match m = Regex.Match(target, "(("   Regex.Escape(value)   ").*?){"   n   "}");

        if (m.Success)
            return m.Groups[2].Captures[n - 1].Index;
        else
            return -1;
    }
}

Not:EkledimNormal ifade.Kaçışdüzenli ifade motoru için özel anlamı olan karakterleri aramak için izin için özgün çözüm için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Lin Steven

    Lin Steven

    17 EKİM 2006
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • wowchick16

    wowchick16

    17 Mart 2007