15. juni 2006 - 08:05
Der er
10 kommentarer og 1 løsning
Replace, repace ikke midt et et ord
strContent = replace(strContent, "pik", "rose",1,-1,1) Har denne som jeg laver et ordfilter på, men med denne her, så går den jo også ind og erstatter midt i et ord. Skriver jeg eksepel pikant - da erstatter den pik og skriver roseant Hvordan får jeg den til kun at erstatte enkelstående ord, og ikke inde mit i et ord..
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?
Prøv strContent = replace(strContent, " pik ", "rose",1,-1,1)
Denne version virker også selv om der bruges store og små bogstaver, ordet ligger i starten eller slutningen af teksten, og hvis der f.eks. kommer et !-tegn lige efter: Set re = New RegExp re.Pattern = "\bpik\b" re.IgnoreCase = True re.Global = True strContent = re.Replace(strContent, "rose")
Hehe, nårh ja selvfølgelig, den lå lige til højrebenet.. Smid et svar ;)
strContent = replace(strContent, " pik ", "rose",1,-1,1) denne virker fint, og tager også højde for store og små bogstaver..
... men ikke for: "pik ... mere tekst" "mere tekst ... pik" "mere tekst ... pik!!! ... mere tekst" eller bare: "pik"
Har du helt ret i,sku lige til at sige det efter at have testet det :D
Har min function her, hvordan smider jeg den derin, når jeg trækker badword ud fra databasen Function Badword(strContent) strBadword= "select * from badword where active = true" Set RsBadword= conn.Execute(strBadword) While Not RsBadword.EOF strContent = replace(strContent, " " & rsBadword("badword") & " ", " <font color=""#87A2B2"" title=""Ord fanget af ordfilteret"" style=""cursor:pointer;""><u>" & rsBadword("goodword") & "</u></font> ",1,-1,1) Rsbadword.MoveNext Wend Set RsBadword=Nothing Badword = strContent End Function
Function Badword(strContent) Set re = New RegExp re.IgnoreCase = True re.Global = True strBadword = "SELECT * FROM badword WHERE active = true" Set RsBadword = conn.Execute(strBadword) While Not RsBadword.EOF re.Pattern = "\b" & rsBadword("badword") & "\b" strContent = re.Replace(strContent, "<font color=""#87A2B2"" title=""Ord fanget af ordfilteret"" style=""cursor:pointer;""><u>" & RsBadword("goodword") & "</u></font>" RsBadword.MoveNext Wend Set RsBadword = Nothing Badword = strContent End Function
Har du fået afprøvet det?
23. juni 2006 - 07:57
#10
Åh, fik jeg ikke afsluttet det.. Sorry.. Men det fungerer helt optimalt :)
23. juni 2006 - 08:23
#11
Svar :^)
Kurser inden for grundlæggende programmering