Avatar billede dr_nielsen Nybegynder
08. juni 2004 - 21:18 Der er 7 kommentarer og
1 løsning

regexp : indsætte quotes

Jeg ønsker at løbe igennem en streng og erstatte følgende

class=CLASSNAME med class="CLASSNAME"

Altså indsætte quotes på attributter globalt i strengen.

/dr
Avatar billede dr_nielsen Nybegynder
08. juni 2004 - 21:31 #1
Jeg fandt dette pattern der finder selve attributten og dens værdig:

pattern = "([a-z])+(\=)([a-z]+|[0-9]+)",

men kan ikke finde ud af at replace med den nye værdi og globalt i strengen
Avatar billede skovenborg Nybegynder
08. juni 2004 - 21:37 #2
hvis vi siger du har det hele i en streng kan du gøre sådan her:
str = "<div class=classname></div>";
str = str.replace(/([a-z]+)=([\w]+)/ig,"$1=\"$2\"");
alert(str);
Avatar billede skovenborg Nybegynder
08. juni 2004 - 21:41 #3
og så skal den lige få bindestregerne med:
str = str.replace(/([a-z]+)=([\w-]+)/ig,"$1=\"$2\"");

det kan dog også skrives, så her:
str = str.replace(/([a-z]+=)([\w-]+)/ig,"$1\"$2\"");
hvis du synes det er kortere/pænere
Avatar billede dr_nielsen Nybegynder
08. juni 2004 - 21:42 #4
funckin brilliant, gir du et svar og en kort forklaring på $1 og $2
Avatar billede skovenborg Nybegynder
08. juni 2004 - 21:59 #5
joda - $1 og $2 matcher hendholdvis den første parentes og den anden parentes. Dvs. at det der matcher indeni parenteserne bliver lagt hen i "variablerne" $1,$2...$n. I dette tilfælde vil $1 matche parentesen ([a-z]+), som matcher attributnavnet og den anden matcher så parentesen med værdien af attributten.

Sig til hvis det kræver lidt ekstra forklaring :-)
Avatar billede dr_nielsen Nybegynder
08. juni 2004 - 22:02 #6
tak det gir mening nu, men hvis [a-z] er små bogstaver, hvad er så [a-z]+
Avatar billede skovenborg Nybegynder
08. juni 2004 - 22:20 #7
+ betyder at den matcher én eller flere af bogstaverne a-z

Vel at mærke matcher den også store bogstaver da jeg har sat den til at være case-insentensive med i ved /ig
Avatar billede skovenborg Nybegynder
08. juni 2004 - 22:20 #8
og tak for points :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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