07. november 2006 - 19:24
Der er
11 kommentarer og 1 løsning
Fjerne alle ikke-alfanumeriske tegn fra streng med RegExp i ASP
Hej Eksperter! Jeg kan ikke få RegExp til at virke, har prøvet følgende kode: Set regEx = New RegExp regEx.Pattern = \"\\W\" regEx.IgnoreCase = True regEx.Global = True strStrip = regEx.Replace(strStrip) men får så bare følgende fejl: Microsoft VBScript compilation error '800a03ea' Syntax error regextest.asp, line 19 regEx.Pattern = \"\\W\" ----------------^ Virker det ikke med VBscript eller laver jeg bare noget galt?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
07. november 2006 - 21:37
#1
Prøv og fjern den første og sidste bachslash i din pattern, mener kun der er i javascript disse bruges og ikke i VB. regEx.Pattern = "\\W" /Goose
07. november 2006 - 22:03
#2
ah ja :) det hjalp lidt.. men så er replace også skrevet til JS.. hvordan sætter man det ind så det passer til VB? Lige nu får jeg fejlen: Microsoft VBScript runtime error '800a01c2' Wrong number of arguments or invalid property assignment: 'Replace' /telia/regextest.asp, line 22
07. november 2006 - 22:22
#3
Tror mere det er fordi "replace" måske er et beskyttet ord, prøv og brug noget andet - f.eks: strStrip = regEx.Test(strStrip) /Goose
07. november 2006 - 22:24
#4
interessant.. så returnerer den bare: "False" ;)
07. november 2006 - 22:31
#5
Hmm.. kan godt være jeg er helt på vildspor... Det jeg egentlig bare prøver, er at få den til at tage strengen "strStrip" og så fjerne alle ikke-alfanummeriske tegn fra den, inklusive mellemrum
07. november 2006 - 22:35
#6
Nu kender jeg ikke lige \\W men hvordan bruger du din RegExp, kalder du den via en funktion eller hvad? /Goose
07. november 2006 - 22:39
#7
Aner det ikke ;) Er første gang jeg roder med RegExp. har kun det der står i toppen som jeg har forsøgt mig med.. altså noget i stil med: Set regEx = New RegExp regEx.Pattern = "\\W" regEx.IgnoreCase = True regEx.Global = True strStrip = regEx.Test(strStrip) response.write(strStrip) Kender du en metode til at strippe en streng for alt andet end alfanummeriske tegn? så er den yderst velkommen ;)
07. november 2006 - 23:04
#8
Jeg er heller ikke skrap i regexp, men jeg fandt følgende i mine gemmer: <% Function ReplaceTest(tekst,patrn, replStr) Dim regEx, str1 Set regEx = New RegExp regEx.Pattern = patrn regEx.global = true regEx.IgnoreCase = True ReplaceTest = regEx.Replace(tekst, replStr) End Function saetning = "Hej Eksperter!Jeg kan ikke få RegExp til at virke, har prøvet følgende kode" stripcontent = ReplaceTest(saetning,"([\d\s])","") Response.Write(stripcontent) %> Jeg daffer i seng nu. /Goose
08. november 2006 - 11:54
#9
YES :D det virker! Ved at ændre ([\d\s]) til \W fungerer det efter hensigten :) Tak for hjælpen! Smider du ikke lige et svar?
08. november 2006 - 11:56
#10
Altså... så der står: stripcontent = ReplaceTest(saetning,"/W","")
08. november 2006 - 12:02
#11
Ok, men så var det da heldigt jeg lige kiggede i min skrammelkasse :o) /Goose
08. november 2006 - 12:10
#12
Jeps ;) Der finder man ofte go'e sager...
Kurser inden for grundlæggende programmering