0

StringBetween w C#

Sporym problemem, który spotykałem przy pisaniu w szczególności botów było wyciągnięcie jakiejś wartości zmiennej, która była pomiędzy innymi, niezmiennymi wartościami. Przeszukałem pół internetu i nie spotkałem odpowiedzi, która by mnie usatysfakcjonowała, więc postanowiłem wziąć sprawy w swoje ręce i napisać bardzo prostą metodę :)

Metoda StringBetween bazuje na prostych instrukcjach, które nie powinny być trudne do zrozumienia nawet dla laika :)

        public static string[] StringBetween(string kod, string przed, string po)
        {
            bool jest = true;
            string[] result = new string[0];
            int indexxx = 0;
            while (jest)
            {
                try
                {
                    int prze = kod.IndexOf(przed) + przed.Length;
                    int poo = kod.IndexOf(po, prze);
                    int test = kod.IndexOf(przed);
                    if (kod.IndexOf(przed) != -1 && kod.IndexOf(po) != -1)
                    {
                        Array.Resize(ref result, result.Length + 1);
                        result[indexxx] = kod.Substring(prze, poo - kod.IndexOf(przed) - przed.Length);
                        kod = kod.Remove(0, poo + po.Length);
                        indexxx += 1;
                    }
                    else
                    { jest = false; }
                }
                catch { jest = false; }
            }
            return result;
        }

Jak można zauważyć metoda zwraca nam wynik w tablicy, dzięki czemu z raz zadeklarowanej zmiennej możemy wyciągnąć wiele wartości.

 

Poniżej przedstawię prosty przykład:

 

Mamy jakiś kod źródłowy

<1><2><3><4><5><6><7><8><koniec>

Deklarujemy zmienną:

string[] wynik = StringBetween("<1><2><3><4><5><6><7><8><koniec>", "<", ">");

I nasz wynik będzie wyglądał następująco:

wynik[0] = "1"
wynik[1] = "2"
wynik[2] = "3"
wynik[3] = "4"
wynik[4] = "5"
wynik[5] = "6"
wynik[6] = "7"
wynik[7] = "8"
wynik[8] = "koniec"

Jak widać metoda jest bardzo łatwa w użyciu i znacznie upraszcza życie :)

miejscov

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.