Operacja na pliku - szukanie i pobieranie wartości

0

Cześć!

Próbuję utworzyć metodę, która pobiera wartości po danym ciągu znaków.

  • Założenie funkcjonalności metody:
    Wyszukiwanie nazw bądź wartości zaraz po danym ciągu znaków. Przykład:
    Chcę z pliku otrzymać wszystkie nazwy bądź wartości, które pokazują się po danym ciągu znaków np: "KLAPP OSX" oraz "CHLOP TEL".
;KLAPP OSX WUNDERBAUM1 % cośtamcoś1 text;
;CHLOP TEL HOME Vel=100 % DEFAULT;%{PE}%R 8.2,%MKUKATPBASIS
  • Wynik jaki chce otrzymać:
KLAPP OSX WUNDERBAUM1
CHLOP TEL HOME
KLAPP OSX Blablablal

Najpierw próbowałem

File.ReadAllLines("gdzieplik");

I potem IndexOf. Aczkolwiek się pogubiłem.

Proszę o wskazówki, dziękuję.

@@Niżej

string fajl = System.IO.File.ReadAllText("C:\\Users\\zzz\\Downloads\\SN21_M067SN2170R0101_SN21_010RB_100_620147\\KRC\\R1\\Program\\Handling\\ba_020r1_a.src");
            //foreach (var content in fajl)
            //{
            //    textBox.Text += content;
            //}
            if (fajl.IndexOf("FOLD PTP", 0)!=null)
            {
                Debug.Write(fajl.IndexOf("FOLD PTP", 0));

            }

Troszeczkę nie podziałało

Kolejna próba:

            string[] separators = new string[] { "\n","\r",",",";", ".", "!", "\'", " ", "\'s" };
            List<string> allValuesFromFile = new List<string>();
            List<string> result = new List<string>();
            foreach (string word in fajl.Split(separators, StringSplitOptions.RemoveEmptyEntries)) {
                allValuesFromFile.Add(word);
            }
            for (int i = 0; i < allValuesFromFile.Count; i++)
            {
                if (allValuesFromFile[i] == "KLAPP " && allValuesFromFile[i+1]=="OSX")
                {
                    Debug.WriteLine(allValuesFromFile[i + 2]);
                }

            }
1

Pokaż cały kod, jaki napisałeś, i powiedz, na czym się pogubiłeś.

1
List<string> wiersz= new List<string>();
string szukana_wartosc;
while (!sr.EndOfStream)
{
    wiersz=sr.ReadLine().Split(' ');
    for (int i=0; i<wiersz.Count; i++)
    {
        if (slowo[i]=="KLAPP")
        {
            szukana_wartosc=slowo[i+2];
            return;
        }
    }
}
0

W zasadzie to nie ma problemu bo kod mi jednak działa!
Dziękuję za chęci.

1 użytkowników online, w tym zalogowanych: 0, gości: 1