Avatar billede goose Nybegynder
05. oktober 2004 - 17:34 Der er 14 kommentarer og
4 løsninger

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
Avatar billede longshanks Nybegynder
05. oktober 2004 - 17:42 #1
streng = replace("www.domæne.dk/ad-include/foto.jpg","ad-include","noget andet")
Avatar billede goose Nybegynder
05. oktober 2004 - 17:48 #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
Avatar billede peikba Nybegynder
05. oktober 2004 - 18:00 #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
Avatar billede peikba Nybegynder
05. oktober 2004 - 18:13 #4
og så mangler der lige en end if
Avatar billede goose Nybegynder
05. oktober 2004 - 18:13 #5
peikba >> det kan jeg ikke få til at virke, den erstatter ingenting ?

/Goose
Avatar billede arne_v Ekspert
05. oktober 2004 - 19:21 #6
Øh.

Replace burde da være helt ligeglad med hvad der står før og efter.
Avatar billede tofte Juniormester
05. oktober 2004 - 19:27 #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!
Avatar billede eagleeye Praktikant
05. oktober 2004 - 19:38 #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
Avatar billede longshanks Nybegynder
05. oktober 2004 - 20:02 #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
Avatar billede arne_v Ekspert
05. oktober 2004 - 20:04 #10
Den kan godt være lidt svær at få tilbage !

:-)
Avatar billede eagleeye Praktikant
05. oktober 2004 - 20:06 #11
fordi man som regel vil beholde store og små bogstaver som de er. det kan være træls der mangler store bogstaver :)
Avatar billede goose Nybegynder
05. oktober 2004 - 20:10 #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>&nbsp;</DIV>
<DIV align=left>Billedet er, som det ses, meget stort, og vi vil nu gøre dette billede mindre.</DIV>

</CODE>

/Goose
Avatar billede arne_v Ekspert
05. oktober 2004 - 20:16 #13
Replace er ren tekst manipulation og den er helt ligeglad med
HTML tags eller ej.
Avatar billede longshanks Nybegynder
05. oktober 2004 - 20:16 #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
Avatar billede eagleeye Praktikant
05. oktober 2004 - 20:18 #15
Hvordan ser din replace kode ud?
Avatar billede goose Nybegynder
05. oktober 2004 - 21:14 #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
Avatar billede arne_v Ekspert
05. oktober 2004 - 21:31 #17
tja
Avatar billede eagleeye Praktikant
05. oktober 2004 - 21:53 #18
ok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester