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 😉
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.
Hallo Little Cherry,
du bekommt ja nur einen Match. An Titel und Interpret innerhalb eines Matches kommst du über Match.Groups.
herbivore