Oprettet tor. d. 06. september 2007 kl. 14:32:20

donkazz
donkazz (11.670 point. Point ude: 1.395)

Fra <image= til jpg>

Hej alle!

Jeg skal bruge en reg.exp i en funktion, som tager en streng og erstatter alle forekomster af <image=xxxx.jpg> med <img src="xxxx.jpg">.

Er der nogle foreslag til hvordan dette skal gøres? :)

Jeg var selv ude i noget rekursiv funktion med InStr osv., men så gik jeg kold og tænkte der måtte være en smartere måde.

Strengen er et notatfelt i en database, så det er sandsynligt at der er mere end én forekomst af <image=..

Selve billedefilens navn kan sagtens variere, så min instr ting jeg tænkte på kan IMO ikke benyttes.. hvis den kan, så ret mig endeligt. :)

Skrevet tor. d. 06. september 2007 kl. 14:32:32| #1

donkazz
donkazz (11.670 point)
nå ja og jeg ruller med ASP

Skrevet tor. d. 06. september 2007 kl. 14:46:15| #2

killer_bee
killer_bee (26.384 point)
hvorfor ikke bare bruge replace funktionen på en string??

Skrevet tor. d. 06. september 2007 kl. 14:46:40| #3

barklund
barklund (102.377 point)
altså selve udtrykket er jo blot noget med:

s/<img=([^>]+)>/<img src="\1">/g

Hvordan man laver det i ASP kan jeg ikke lige huske - og man laver det jeg egentlig slet ikke i ASP men i VBScript eller JScript. Og da JScript er langt det nemmeste sprog at vælge af de to, så gætter jeg på, at du har valgt det. Her kan man så vidt jeg ved bruge samme syntax som i java script:

foo = foo.replace(/<img=([^>]+)>/, "<img src=\"\\1\">");

Men hvis du anvender VBScript af ukendte årsager, så er du for det første ude i noget rod (for det er VBScript) og for det andet skal det vist laves som:

set r = new regexp
r.pattern = pattern
r.global = true
str = r.replace(str, "<img src=""$1"">")
r = Nothing

:)

--
Morten Barklund

Skrevet tor. d. 06. september 2007 kl. 14:47:25| #4

nielle
nielle (159.526 point)
Sådan?

tekst = ".... <image=xxxx.jpg> ..."

Dim re
Set re = New RegExp()
With re
    .Pattern = "<image=(.*?)>"
    .IgnorEcAE = tRUE
    .gLOBAL = tRUE
End With

tekst = re.Replace(tekst, "<img src=""$1"">")

Skrevet tor. d. 06. september 2007 kl. 14:49:02| #5

nielle
nielle (159.526 point)
cAPS-lOCK DRILLER VIST ;^)

tekst = ".... <image=xxxx.jpg> ..."

Dim re
Set re = New RegExp()
With re
    .Pattern = "<image=(.*?)>"
    .IgnoreCase = True
    .Global = True
End With

tekst = re.Replace(tekst, "<img src=""$1"">")

Skrevet tor. d. 06. september 2007 kl. 15:03:09| #6

donkazz
donkazz (11.670 point)
Ja lige præcis nielle!! :-D

Skide godt!! Million tak!

Smid svar så du kan få dine velfortjente points!

Skrevet tor. d. 06. september 2007 kl. 15:06:30| #7

barklund
barklund (102.377 point)
Jamen, skrev jeg ikke nogenlunde det samme? Endda i flere sprog? :(

Skrevet tor. d. 06. september 2007 kl. 15:12:29| #8

donkazz
donkazz (11.670 point)
Tjoooh men jeg kunne ikke bruge det til noget før nielle udpenslede det, men så smid da et svar så du kan få en bid af kagen. ;-)

Skrevet tor. d. 06. september 2007 kl. 15:16:28| #9

nielle
nielle (159.526 point)
For min skyld må baklund gerne få pointene på denne her - jeg postede bare uden at se om der var nogen som var kommet før. :^)

Skrevet tor. d. 06. september 2007 kl. 15:20:59| #10

barklund
barklund (102.377 point)
Nu vil jeg bare slet ikke have dem!!!

Skrevet tor. d. 06. september 2007 kl. 15:22:26| #11

nielle
nielle (159.526 point)
Jamen skal vi så ikke bare tilbyde donkazz at han kan få lov til at tage dem tilbage igen... :^)

Skrevet tor. d. 06. september 2007 kl. 15:27:10| #12

donkazz
donkazz (11.670 point)
hahaha det er fandme sjauwt det her.. :-D

Så kan jeg da more mig lidt over det, mens politiet evakuerer min bopæl.. :-|

Skrevet tor. d. 06. september 2007 kl. 15:36:52| #13

barklund
barklund (102.377 point)
TAG DEM BARE SELV, RØVHULLER!!!!! ;)

Skrevet tor. d. 06. september 2007 kl. 15:55:04| #14

donkazz
donkazz (11.670 point)
Tak sa de ha ;-)

Skrevet tor. d. 06. september 2007 kl. 16:11:13| #15

barklund
barklund (102.377 point)
Så lidt - og held og lykke med det aldeles forfærdelige programmeringssprog :)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

.NET RegEx: tekst mellem to markører

Oprettet den 28. april 2012 kl. 19.34
dingemann giver 60 point for svar | Giv et svar »

Streng længde med karaktere på bestemte pladser

Oprettet den 17. april 2012 kl. 10.52
joki giver 30 point for svar | Giv et svar »

Simpel sammenlignen på 2-3 værdier

Oprettet den 3. april 2012 kl. 14.07
bendixen giver 200 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger