Laden...

Regex-Problem

Erstellt von Little Cherry vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.464 Views
L
Little Cherry Themenstarter:in
2 Beiträge seit 2007
vor 17 Jahren
Regex-Problem
            Stream data = new WebClient().OpenRead("http://config.digital-webstream.de/status.php?mode=title&id=146");
            StreamReader reader = new StreamReader(data);
            reader.ReadLine();
            string text = reader.ReadLine();
            // text = "var "song_title = "Interpret - Titel ";""


            Regex rx = new Regex(@"var song_title = ""(.+) - (.+)\""; ");


            
            MatchCollection matches = rx.Matches(text);


            label1.Text = matches[0].Value;
            label2.Text = matches[1].Value;

Hallo, irgendwie funktioniert das nicht. Der string "text" sieht etwa so aus: var "song_title = "Interpret - Titel ";"

Das Label1 soll nun "Interpret" anzeigen und das Label2 "Titel". Funktioniert aber irgendwie nicht.
Was mache ich falsch? Ich bin noch neu auf dem Gebiet de Regular Expressions und eigtl. auch in C#.

Das angegebene Argument liegt außerhalb des gültigen Wertebereichs.
Parametername: i

Vielen Dank schonmal für eure Hilfe 😉

T
94 Beiträge seit 2006
vor 17 Jahren

nabend,


            Stream data = new WebClient().OpenRead(@"http://config.digital-webstream.de/status.php?mode=title&id=146");
            StreamReader reader = new StreamReader(data);
            reader.ReadLine();
            string text = reader.ReadLine();
            Regex rx = new Regex("\"([^\"])+\"", RegexOptions.Multiline);
            MatchCollection matches = rx.Matches(text);
            string[] results = matches[0].Value.Replace('"', ' ').Split('-');
            MessageBox.Show("-"+results[0] + " " + results[1]+"-");

irgendwie find ich das selbst ne unschöne lösung aber ich will schlafen gehn und hab keine lust das nochmal umzuschreiben und immerhin funktioniert es 😉
probleme würde es geben, wenn nochmal ein " in dem string vorkommt. sofern der string aber immer so wie im beispiel aussieht gibt es keine probleme
falls doch hin und wieder ein " vorkommt kann ich ja auf wunsch das ganze nochmal umschreiben (morgen)

mfg

If you don't like me for who I am, then you don't like me for who I am, but all you're gonna get, is who I am.

L
Little Cherry Themenstarter:in
2 Beiträge seit 2007
vor 17 Jahren

Hm, doch, leider können noch weitere Anführungszeichen vorkommen.

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Little Cherry,

du bekommt ja nur einen Match. An Titel und Interpret innerhalb eines Matches kommst du über Match.Groups.

herbivore