07. september 2005 - 19:35Der er
4 kommentarer og 1 løsning
Checke om en tekststreng indeholder en anden tekststreng
Hvordan checker jeg lettest om en tekststreng indeholder en anden tekststreng.
Jeg har fx. en tekststreng der indeholder en e-mail adresse, og vil gerne checke om den indeholder ".dk" eller måske endda "hotmail.com".
Hvordan gør jeg det?
Og hvordan gør jeg hvis jeg gerne vil checke om den indeholder et af flere kriterier? Altså hvis jeg gerne vil checke om tekststrengen indeholder ".dk" ELLER "hotmail.com" ELLER.....
Jeg kan naturligvis bruge svaret på del et og lave en række IF ... ELSE IF ... men det må vel kunne gøres mere elegant?
måske der kan bruges select case, men det kommer lidt an på den sammenhæng det skal bruges i.. kan du uddybe det, som funktionen skal bruges til, og hvilke tilfælde der kan opstå
På den ASP-side jeg behandler data laver jeg så en:
Rs1.Addnew Rs1("email") = Request.Form("T2")
Så er jeg klar til at skrive til databasen, men forinden vil jeg gerne lige sætte et 'flag' hvis e-mail adressen indeholder enten ".dk" eller "hotmail.com" eller "gmail.com" eller ......
Hvis jeg vidste præcist hvilken e-mail adresse jeg ville checke imod ville jeg gøre det sådan:
If LCase(Request.Form("T2")) = "denne@adresse.dk" Then Rs1("flag") = 1
Og det fungerer fint.
Men jeg kender jo ikke den præcise adresse jeg vil checke mod, kun en del af adressen.
Og jeg vil gerne checke mod mere end et kriterie, hvilket jeg jo kunne gøre som en række IF ... OR ... THEN, men jeg håber på en mere elegant løsning.
dim tjekmail(x) ' x = totalantal forskellige tjekmail(1) = ".dk" tjekmail(2) = "hotmail.com" osv. for i = 1 to x if instr(request.form("t2"),tjekmail(i))>0 then Rs1("flag")=1 next
Ja, et FOR - NEXT loop havde jeg naturligvis også tænkt på, men tak for hjælpen :o)
/Rob
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.