Moskus Skrevet 11. oktober 2010 Del Skrevet 11. oktober 2010 Jeg skal sjekke noen linjer av tekst og se om de inneholder L00T00 der "00" kan være et vilkårlig tall mellom 00 og 99. Det første jeg tenkte på er om det er mulig å gjøre noe slikt med RegEx? Jeg har prøvd å lese meg litt opp, men direkte enkelt er det ikke... Lenke til kommentar
MailMan13 Skrevet 11. oktober 2010 Del Skrevet 11. oktober 2010 (endret) Smal sak det: // Om den inneholder utrykket var isMatch = Regex.IsMatch(input, @"L\d{2}T\d{2}"); //skriv ut èn match var match = Regex.Match(input, @"L\d{2}T\d{2}"); Console.WriteLine(m.ToString()); // skriv ut alle mathcer om det er mer enn en forekomst var match = Regex.Matches(input, @"L\d{2}T\d{2}"); foreach(var m in match) Console.WriteLine(m.ToString()); // Om du skal teste mot samme pattern mange ganger // kan det være ytelse å hente på å lage en forhåndskompilert instans: var exp = new Regex(@"L\d{2}T\d{2}"); var isMatch = exp.IsMatch(input); Endret 11. oktober 2010 av MailMan13 Lenke til kommentar
Moskus Skrevet 11. oktober 2010 Forfatter Del Skrevet 11. oktober 2010 Wow, det gikk kjapt! Tusen hjertelig takk! Er det da like enkelt å hente ut tallene bak T og L? Lenke til kommentar
MailMan13 Skrevet 11. oktober 2010 Del Skrevet 11. oktober 2010 (endret) Du ken hente dem ut om du setter dem inni en gruppe i utrykket: var match = Regex.Match(input, @"L(\d{2})T(\d{2})"); var l = match.Groups[1]; var t = match.Groups[2]; match.Groups[0] er hele utrykket, 1...n er hver grupper fra venstre til høyre. Evt. kan du gi dem navn med ?<navn> var match = Regex.Match(input, @"L(?<L>\d{2})T(?<T>\d{2})"); var l = match.Groups["L"]; var t = match.Groups["T"]; Endret 11. oktober 2010 av MailMan13 Lenke til kommentar
Moskus Skrevet 11. oktober 2010 Forfatter Del Skrevet 11. oktober 2010 Takk for hjelpen! Det fungerer utmerket, og du har spart meg for flere timer med banning og feilsøking for å prøve å gjøre dette "generelt" med tekststrenger! Jeg tror nok jeg må lese meg litt opp på RegEx! Lenke til kommentar
GeirGrusom Skrevet 11. oktober 2010 Del Skrevet 11. oktober 2010 Regex kan være noe av det nyttigste du lærer deg. Det er også ofte jeg bruker RegEx i Search & Replace i Visual Studio, for eksempel hvis jeg har en enkel datakilde, men vil hardkode det inn i programmet fremfor å ha en ekstern datafil som må parses, så kan regex løse det enkelt. Lenke til kommentar
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å