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

  • footiecyclo

    footiecyclo

    26 EYLÜL 2009
  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006