Stig Jøran Skrevet 2. mars 2012 Skrevet 2. mars 2012 Holder på med et lite prosjekt hvor jeg vil hente ut data fra en nettside. Får hentet ned siden, men vil hente ut et spesifikt tall som endrer seg fra tid til annen. Er det noen måte å søke opp teksten som kommer før, og så hente ut de 2-3 neste bokstavene? "Avg/ -72 dB Last</span>" er tallet 72 jeg er ute etter, men det endrer seg hele tiden.
GeirGrusom Skrevet 2. mars 2012 Skrevet 2. mars 2012 (endret) private static readonly Regex SpanRegex = new Regex(@"Avg/ -(?<Number>\d+) dB Last\</span\>", RegexOptions.Compiled); public static int ReadNumber(string input) { var m = SpanRegex.Match(input); if(m.Success) // Tallet vil alltid la seg parse så lenge brukeren ikke har en helt sinnsyk culture, så benytt Parse fremfor TryParse return int.Parse(m.Groups["Number"].Value); throw new FormatException(); } Endret 2. mars 2012 av GeirGrusom 1
jeIIy Skrevet 17. mars 2012 Skrevet 17. mars 2012 private static readonly Regex SpanRegex = new Regex(@"Avg/ -(?<Number>\d+) dB Last\</span\>", RegexOptions.Compiled); public static int ReadNumber(string input) { var m = SpanRegex.Match(input); if(m.Success) // Tallet vil alltid la seg parse så lenge brukeren ikke har en helt sinnsyk culture, så benytt Parse fremfor TryParse return int.Parse(m.Groups["Number"].Value); throw new FormatException(); } hvis det ikke står noe forann eller bak, kan man bruke tags fra html koden?
GeirGrusom Skrevet 17. mars 2012 Skrevet 17. mars 2012 Koden jeg skrev matcher akkurat det du forklarte. Ikke noe annet. Hva som står foran eller bak er uvesentlig så lenge det ikke vil matche mønsteret.
jeIIy Skrevet 17. mars 2012 Skrevet 17. mars 2012 (endret) Koden jeg skrev matcher akkurat det du forklarte. Ikke noe annet. Hva som står foran eller bak er uvesentlig så lenge det ikke vil matche mønsteret. takk, var ikke min tråd btw, bare hijacka den Endret 17. mars 2012 av jeIIy
GeirGrusom Skrevet 19. mars 2012 Skrevet 19. mars 2012 Regexen ignorerer hva det måtte være av HTML formatering. Den ignorerer faktisk all formatering som måtte være. Den søker rett og slett etter teksen "Avg/ -" etterfulgt av 1 eller flere tegn mellom 0 og 9, etterfulgt av teksten " dB Last</span>" Så hva du måtte ha av HTML foran eller bak er irrelevant. Regex er et tekstsøkeverktøy.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå