Avatar billede vis399cll Nybegynder
17. september 2002 - 12:19 Der er 9 kommentarer

Problem dem regExp, replace og variabel

Jeg prøvede denne kode med variabler og der virkede den ikke hvorfor det, når den virker med aml. tekst??

' Lav et regExp objekt
Set regEx = New RegExp               
' Dette er pattern, der skal søges efter
regEx.Pattern = var1 & "([^<]*?)" & var2
' Vi vil finde mere end bare den første forekomst, så global skal være true
regEx.global = true
regEx.IgnoreCase = true
' Foretag selve erstatningen
resultat = regEx.Replace(str , var3 & "$1" & var4 )
Set regEx = Nothing

Response.Write resultat

Evt. se: http://www.eksperten.dk/spm/253917
Avatar billede eagleeye Praktikant
17. september 2002 - 12:24 #1
Hvad indeholder var1, var2, var3 og var4

Det brugte ikke give problemmer.
Avatar billede vis399cll Nybegynder
17. september 2002 - 12:38 #2
Tja se evt. http://www.eksperten.dk/spm/253917

Det er f.eks.

var1 = "<FONT size=5>"
var2 = "</FONT>"

var3 = "<H1>"
var4 = "</H1>"

Næste omgang kunnne det være:

var1 = "<B>"
var2 = "</B>"

var3 = "<H2>"
var4 = "</H2>"

osv
Avatar billede vis399cll Nybegynder
17. september 2002 - 12:52 #3
Nå ja det er måske en ide at skrive hvad der sker!

Det som sker er ingen ting. Den finder igen paterns og derfor replacer den overhovede igenting!
Avatar billede lange Nybegynder
17. september 2002 - 12:59 #4
Din kode virker fint for mig. Er du sikker på var1 og var2 indeholder hvad du tror? Prøv evt. at lave en

response.write regEx.Pattern

før du laver selve erstatningen.
Avatar billede vis399cll Nybegynder
17. september 2002 - 13:27 #5
Ja det er godt nok mærkeligt. Det virker hvis jeg mauelt lægger verdierne ind i var1 osv.

Jeg henter dog variablerne fra en form på forrige side, og så virker det ikke. Også selvom jeg lægger de hentet verdier ind var1,2. JEg har også prøvet at lægge en Cstr() rundt, men det virker ikke!
Avatar billede vis399cll Nybegynder
17. september 2002 - 13:28 #6
Btw. Der er verdier i formen og den henter dem fint nok. Når jeg skriver response.write regEx.Pattern viser den også det rette, men den erstatter det dog ikke, Why???
Avatar billede lange Nybegynder
17. september 2002 - 13:33 #7
Når du kigger om den viste regEx.pattern er korrekt, husker du så at kigge i HTML-kilden? Er du fx sikker på, at det ikke er "&lt;FONT SIZE=5&gt;" du søger efter i stedet for "<FONT SIZE=5>". Når du kigger på dit HTML-output vil de 2 strenge blive vist ens.
Avatar billede vis399cll Nybegynder
17. september 2002 - 14:04 #8
Jepper jeg får:

<FONT size=5>([^<]*?)</FONT>
<FONT size=7>([^<]*?)</FONT>
<FONT size=6>([^<]*?)</FONT>
<FONT size=4>([^<]*?)</FONT>

Ud af resultatet når jeg kikker i kildekoden.
Avatar billede vis399cll Nybegynder
17. september 2002 - 14:05 #9
Så når jeg ser det på skermen så ser jeg ([^<]*?) i forskællige størrelser!
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