19. april 2005 - 11:39Der er
22 kommentarer og 1 løsning
splitte en tekst
Hvordan splitter jeg denne tekst så det kun er filnavnet der bliver tilbage, altså splitter den ved _ ved teksten til a href'en? set rs2 = conn.execute("select * from filer where idnummer="& rs("id")) while not rs2.eof response.write "<a href="""& rs2("url") &""">"& rs2("url") &"</a>"
eksempel på output \filer\222_16-02-05_21.JPG | \filer\222_16-02-05_22.JPG | \filer\222_16-02-05_25.JPG |
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
set rs2 = conn.execute("select * from filer where idnummer="& rs("id")) while not rs2.eof
filArr = split(rs2("url"), "|") for i = 0 to Ubound(filArr) if trim(filArr(i)) <> "" then response.write "<a href="""& trim(filArr(i)) &""">"& trim(filArr(i)) &"</a>" end if next
den indeholder stien fx /filer/222_16-02-05.jpg Det jeg gerne ville var at linket kun bestod af filnavnet <a href="/filer/222_16-02-05.jpg">16-02-05.jpg</a> Kan du forstå det??
Jep :-) Vi er jo nogle der skal have skåret det hele ud i pap. Denne funktion skulle gerne klare det: Function removePath() Set reg = New RegExp reg.Pattern = "\/.*\/" reg.IgnoreCase = True removePath = reg.Replace("/filer///222_16-02-05.jpg", "") End Function
Altså: Function removePath(sFile) Set reg = New RegExp reg.Pattern = "\/.*\/" reg.IgnoreCase = True removePath = reg.Replace(sFile, "") End Function set rs2 = conn.execute("select * from filer where idnummer="& rs("id")) while not rs2.eof response.write "<a href="""& rs2("url") &""">"& removePath(rs2("url")) &"</a>"
Det forstår jeg ikke. Prøv med Private Function removePath(sFile) Set reg = New RegExp reg.Pattern = "\/.*\/" reg.IgnoreCase = True reg.Global = True removePath = reg.Replace(sFile, "") End Function
Jeg kan desværre ikke selv teste direkte i ASP her, så kan ikke lige se om det burde virke, men har testet i VBA og den benytter samme object til regular expressions, så det burde være det samme.
set rs2 = conn.execute("select * from filer where idnummer="& rs("id")) Set reg = New RegExp reg.Pattern = "\/.*\/" reg.IgnoreCase = True while not rs2.eof response.write "<a href="""& rs2("url") &""">"& reg.Replace(rs2("url"), "") &"</a>"
Den skriver ingen fejl men fjerner heller ikke \filer\222_ Bare for at jeg kan forstå det ,skal man ikke sætte op hvad den skal fjerne??? og hvis det er gjort hvor gør den det...
Nu skriver du \filer\222_ - der er jo stor forskel på det og /filer/222_ Hvis det er \filer\222_ du vil have fjernet gør følgende tricket:
set rs2 = conn.execute("select * from filer where idnummer="& rs("id")) Set reg = New RegExp reg.Pattern = "\\.*\_" reg.IgnoreCase = True while not rs2.eof response.write "<a href="""& rs2("url") &""">"& reg.Replace(rs2("url"), "") &"</a>"
- det er reg.Pattern = "\\.*\_" der definerer hvad der skal fjernes. Med den jeg benytter fjerner den alt fra en backslash(\) til tegnet underscore(_)
Ok det virker men nu er filnavnet: \filer\222_16-02-05_25.JPG, det vil sige den fjerne hele filnavnet så der kun er 25.jpg tilbage. Kan den nøjes med at fjerne kun til den første underscore så filnavnet er 16-02-05_25
set rs2 = conn.execute("select * from filer where idnummer="& rs("id")) Set reg = New RegExp reg.Pattern = "\\[^\_]*\_" reg.IgnoreCase = True while not rs2.eof response.write "<a href="""& rs2("url") &""">"& reg.Replace(rs2("url"), "") &"</a>"
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.