Avatar billede bbe1379 Nybegynder
20. december 1999 - 16:43 Der er 20 kommentarer og
1 løsning

Replace flere...

Kan man replace flere gange i samme udskrift???

Med...

<%=Replace(readRS("tekst"), vbCrLf,  "<BR>")%>

...som udgangspunkt, vil jeg også kunne replace en indholdet af en streng med noget andet.

<%=Replace(readRS("tekst"), vbCrLf, "&streng&", "<BR>", "<b>" & "&streng&" & "</b>")%>

Ovenstående er (naturligvis) forkert, men skulle illustrere at:

vbCrLf = <br>

streng = <b>streng</b>

...men hvorn' gør man????
Avatar billede sone Nybegynder
20. december 1999 - 16:59 #1
tempString = Replace(readRS("tekst"), vbCrLf,  "<BR>")
tempString = Replace(tempstring, strGl, strNy)
osv...
Avatar billede bbe1379 Nybegynder
20. december 1999 - 17:01 #2
hmmm, kan det virkelig ikke gøres på en gang??
Avatar billede sone Nybegynder
20. december 1999 - 17:02 #3
Man kan da godt:

Replace(Replace(readRS("tekst"), vbCrLf,  "<BR>"), strGl, strNy)

osv.
Avatar billede bbe1379 Nybegynder
20. december 1999 - 17:15 #4
hmmm, der ser "usmidigt" ud - det første er OK.

Hvordan kan det være at den er case-sensitive...???

Ved du hvordan man kan "overtale" den til at lade være med det??
Avatar billede bbe1379 Nybegynder
20. december 1999 - 17:15 #5
Ups...det var ikke meningen at afvise. Svar lige igen.
Avatar billede sone Nybegynder
20. december 1999 - 17:21 #6
Så vidt jeg ved, kan REPLACE ikke gøres ikke-CaseSensitive - så skal du selv opbygge en rutine.
Avatar billede bbe1379 Nybegynder
20. december 1999 - 17:27 #7
Hmm, tak for hjælpen
Avatar billede baunsgaard Nybegynder
20. december 1999 - 19:42 #8
Replace kan gøres ikke-casesensitive ved at fylde lidt flere parametre på. Syntaksen er (fra MSDN) følgende:

Replace(expression, find, replacewith[, start[, count[, compare]]])

Dvs. følgende virker:

<% =replace(oldStr, findStr, replaceStr, 1, -1, vbTextCompare) %>

Mvh
Avatar billede bbe1379 Nybegynder
20. december 1999 - 22:09 #9
Betyder det, at den f.eks skal se således ud:

Replace(readRS("tekst"), vbCrLf,  "<BR>", 1, -1, vbTextCompare)

???
Avatar billede baunsgaard Nybegynder
20. december 1999 - 22:13 #10
Ja, men da vbCrLf ikke er store/små bogstaver er der ikke behov for det i netop den du viser...

response.write Replace("aAaAa", "b", 1, -1, vbTextCompare)

skriver fem b'er.
Avatar billede bbe1379 Nybegynder
20. december 1999 - 22:18 #11
Den var også kun et eksempel. Den jeg bruger virker også.....næsten. Når jeg sætter de ekstra parametre på, så laver den store bogstaver til små...!!!

Er det meningen...
Avatar billede ulrik Nybegynder
20. december 1999 - 22:25 #12
baunsgaard check lige din ReplaceStr

Replace(/Strengen/,/Søgeefter/,/Erstat med/,...
Avatar billede ulrik Nybegynder
20. december 1999 - 22:26 #13
du sat den til at søge i strengen aAaAa efter b og erstatte b med 1
Avatar billede bbe1379 Nybegynder
20. december 1999 - 22:27 #14
ulrik >...det er ikke så vigtigt - det hitter jeg nok ud af.

baunsgaard > kan man evt. lave det hele om til store bogstaver??
Avatar billede baunsgaard Nybegynder
20. december 1999 - 22:40 #15
ulrik>> Undskyld - håber du kan tilgive mig...

som påpeget ovenfor har jeg glemt et "a"

response.write Replace("aAaAa", "a" "b", 1, -1, vbTextCompare)

bbe1379>> Tænker du på UCase? Det laver en streng om til store bogstaver...
Avatar billede bbe1379 Nybegynder
20. december 1999 - 22:42 #16
Tjaa, som nødløsning. Hvis man ikke kan bevare den oprindelige når teksten skrives ud.
Avatar billede baunsgaard Nybegynder
20. december 1999 - 22:58 #17
bbe1379>> Hvad mener du lige præcis med ' kan man evt. lave det hele om til store bogstaver??'  ???
Avatar billede bbe1379 Nybegynder
20. december 1999 - 23:12 #18
Det er UpperCase jeg mener, men mit problem er, at jeg skriver en tekst ud fra databsen, der både indholder store og små bogstaver. Jeg har ikke brug for at replace teksten jeg søger efter i den pågældende string, jeg tilføjer bare noget html, så f.eks. Hest bliver til <b>Hest</b>.

Hvis jeg bruger "... 1, -1, vbTextCompare)" bliver alt til lowerCase, så UCase("streng") var bare en tålelig løsning.....men ikke helt godt.

Jeg ville helst bevare Hest som <b>Hest</b>.




Avatar billede baunsgaard Nybegynder
20. december 1999 - 23:32 #19
OK, måske ved jeg hvad du snakker om... Prøv nedenstående funktion:

function ReplaceAndMore(str, searchStr)
    tmpStr = Replace(str, vbCrLf, "<br>")

    i = InStrRev(tmpStr, searchStr, Len(tmpStr), vbTextCompare)
    do until i = 0 or j > 5
        tmpStr = Mid(tmpStr, 1, i - 1) & "<b>" & Mid(tmpStr, i, Len(searchStr)) & "</b>" & Mid(tmpStr, i + Len(searchStr))

        i = InStrRev(tmpStr, searchStr, i, vbTextCompare)
    loop
    ReplaceAndMore = tmpStr
end function

searchStr = "hest"
str = "bbe1379 havde en lille Hest" & vbCrLF & "og en stor Hest"

Response.Write ReplaceAndMore(str, searchStr)



Avatar billede baunsgaard Nybegynder
20. december 1999 - 23:36 #20
Måske berettiger koden til et par points <g>
Avatar billede bbe1379 Nybegynder
21. december 1999 - 08:31 #21
He, He,...er man grådig??

Jeg opretter et sprg. til dig.
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