goose
(33.209 point. Point ude: 400)
Lidt speciel replace
Jeg ved ikke om den er speciel, men jeg kan ikke lige dreje den.
Jeg vil gerne erstatte alle forekomster af en tekststreng i min database, men problemet er bare, at denne tekst streng kan være en del af en anden streng.
.... hmm lyder lidt forvirrende lidt mere uddybende:
streng = "www.domæne.dk/ad-include/foto.jpg"
Jeg vil gerne have erstattet "ad-include" med "etellerandet".
Problemet er, at strengen godt kan være forskellig, men jeg vil gerne have erstattet "ad-include" uanset om det står alene eller hvad der står før og efter.
Jeg har prøvet lidt frem og tilbage med noget LIKE%% men kan ikke rigtig finde den rigtige syntax.
Anyone ?
/Goose
Skrevet tir. d. 05. oktober 2004 kl. 17:42:20| #1
streng = replace("www.domæne.dk/ad-include/foto.jpg","ad-include","noget andet")
Skrevet tir. d. 05. oktober 2004 kl. 17:48:17| #2
longshanks >> Kan ikke bruges, som jeg skrev skal den erstattes uanset hvad der står før og efter, og det vil den ikke blive med din replace.
/Goose
Skrevet tir. d. 05. oktober 2004 kl. 18:00:53| #3
Function Erstat(indStreng,indSoeg,IndErstat)
if inStr(indStreng,indSoeg)>0 then
Erstat=mid(indStreng,1,inStr(indStreng,indSoeg))
Erstat=Erstat & indErstat
Erstat=Erstat & Mid(indStreng,inStr(indStreng,indSoeg)+1)
end function
Det kan være at den skal justeres lidt men prøv den
/Peik
Skrevet tir. d. 05. oktober 2004 kl. 18:13:02| #4
og så mangler der lige en end if
Skrevet tir. d. 05. oktober 2004 kl. 18:13:05| #5
peikba >> det kan jeg ikke få til at virke, den erstatter ingenting ?
/Goose
Skrevet tir. d. 05. oktober 2004 kl. 19:21:46| #6
Øh.
Replace burde da være helt ligeglad med hvad der står før og efter.
Skrevet tir. d. 05. oktober 2004 kl. 19:27:18| #7
som arne_v skriver.
streng = "www.domæne.dk/ad-include/foto.jpg"
nystreng = replace(streng,"ad-include","nogetandet")
giver
www.domæne.dk/nogetandet/foto.jpg
uanset om ad-include står alene eller der står noget før, eller noget efter.
Men det kan være jeg har misforstået spørgsmålet!
Skrevet tir. d. 05. oktober 2004 kl. 19:38:16| #8
Men den er ikke ligeglad om det er STORE eller små bogstaver hvis man ikke forsætter det :)
replace("..dk/AD-inClude/foto.jpg","ad-include","noget andet") virker ikke
replace("..dk/AD-inClude/foto.jpg","ad-include","noget andet",1,-1,1) virker
Skrevet tir. d. 05. oktober 2004 kl. 20:02:26| #9
Hvorfor så ikke bare køre en "lcase" eller "ucase" på hele strengen inden man replacer?
Såsom
replace(lcase("..dk/AD-inClude/foto.jpg"),"ad-include","noget andet")
Longshanks
Skrevet tir. d. 05. oktober 2004 kl. 20:04:02| #10
Den kan godt være lidt svær at få tilbage !
:-)
Skrevet tir. d. 05. oktober 2004 kl. 20:06:28| #11
fordi man som regel vil beholde store og små bogstaver som de er. det kan være træls der mangler store bogstaver :)
Skrevet tir. d. 05. oktober 2004 kl. 20:10:11| #12
Det kan godt være det er mig der nosser rundt i det, men det jeg prøver er følgende:
Jeg henter mit indhold fra en database ind i en streng. Indholdet består af en masse html kode hvori der f.eks. indgår en sti til www.domæne.dk/ad-include/foto.jpg
Jeg kan ikke få den til at replace og nu tænker jeg så på om det kan være fordi at det jeg vil replace er indkapslet i < og > da det jo er htmlkoder ?!?
Jeg plejer normalt ikke at have problemer med at replace.
For lige at i kan se hvordan indholdet ser ud kommer her et lille eksempel:
<CODE>
<DIV align=left><IMG alt="" hspace=0 src="www.domæne.dk/ad-include/foto.jpg" vspace=3 border=1></DIV>
<DIV align=left> </DIV>
<DIV align=left>Billedet er, som det ses, meget stort, og vi vil nu gøre dette billede mindre.</DIV>
</CODE>
/Goose
Skrevet tir. d. 05. oktober 2004 kl. 20:16:05| #13
Replace er ren tekst manipulation og den er helt ligeglad med
HTML tags eller ej.
Skrevet tir. d. 05. oktober 2004 kl. 20:16:25| #14
I det her tilfælde må det være s...e lige meget med case, undskyld mit franske ;o)
Det ser jo ud til at det er URL´´er han vil modificere
:o)
Longshanks
Skrevet tir. d. 05. oktober 2004 kl. 20:18:03| #15
Hvordan ser din replace kode ud?
Skrevet tir. d. 05. oktober 2004 kl. 21:14:16| #16
I må sg* meget undskylde, det er mig der sidder og sover :o(
Som min kone lige har sagt "- nu har du siddet der bag skærmen i 29 timer, måske du skulle få lidt søvn ?"
Det er mig der har bøffet og en ganske almindelig replace kunne gøre jobbet.
Jeg havde blot stavet forkert i min replace (- måske man snart skulle overveje at dimme sine variabler).
Hvis der er andre der ønsker del i pointene end dem der allerede har lagt et svar, så læg et svar.
Jeg foretager pointdeling når jeg får sovet :o/
/Goose
Skrevet tir. d. 05. oktober 2004 kl. 21:31:23| #17
Skrevet tir. d. 05. oktober 2004 kl. 21:53:07| #18