Avatar billede nute Nybegynder
15. oktober 2001 - 16:02 Der er 5 kommentarer og
1 løsning

replace \\ med \\\\ vha RegExp

JEg sitter med følgende kode:

tmp = \"C:\\Program Files\\folder\\folder\\folder\\folder\\test.xml\";
rx = new RegExp(\"/\\\\/\",\"gi\");
docFullName = tmp.replace( rx, \"\\\\\\\\\" );
document.write( docFullName );

Mitt ønske er å replace alle \\ i strengen \'tmp\' med 2 x \\. Overnevnte fungerer ikke :( hvis jeg setter

rx = new RegExp(\"\\\\\",\"gi\");

så får jeg en feilmelding om syntax error. Noen som kan hjelpe og forklare hvorfor jeg ikke får lov til å replace \\ med \\\\ ??

/nute
Avatar billede jumper Nybegynder
15. oktober 2001 - 16:09 #1
nute > Problemet er at du skal have erstattet dine \\ med \\\\ FØR du smider det i en streng, ala:

tmp = \"C:\\\\Program Files\\\\folder\\\\folder\\\\folder\\\\test.xml\";

Altså, erstat FØR output til browseren.

/Thor
Avatar billede jumper Nybegynder
15. oktober 2001 - 16:10 #2
Derudover er det

rx = new RegExp(\"\\\\\",\"gi\");

hvis du absolut vil bruge RegExp constructoren. / og / bliver kun brugt i regexp literals, ala

rx = /\\\\/

/Thor
Avatar billede osaka_san Nybegynder
15. oktober 2001 - 16:13 #3
Nørder :-P

*hehe* - Sorry kunne ikke dy mig :-)
Avatar billede nute Nybegynder
15. oktober 2001 - 16:38 #4
takker for svar. Det var ikke *helt* det svar jeg var ute etter, og jeg har funnet en annen måte å løse problemet på (for det viser seg at problemet ligger egentlig et annet sted). Kan man ikke gjøre følgende:

tmp  = \"C:\\\\Program Files\\\\folder\\\\folder\\\\folder\\\\test.xml\";
tmp2 = \"C:\\\\Program Files\\\\folder\\\\folder\";
rx  = new RegExp( tmp2 + \"\\\\\", \"gi\" );
output = tmp.replace( rx, \"\" );
document.write( output );

altså bruke en variabel til å opprette et regexp ?

/nute
Avatar billede jumper Nybegynder
15. oktober 2001 - 16:47 #5
Jo, man kan sagtens bruge en variabel til at oprette et regexp, det er hele meningen med at bruge RegExp constructoren - den tager jo en streng som input ;o)

Hvad er det da som du vil lave ? Vil du pille \"folder\\test.xml\" ud af strengen eller hvad ?

/Thor
Avatar billede nute Nybegynder
15. oktober 2001 - 16:51 #6
ja, det var det jeg tenkte...det er bare litt underlig at det ikke kjører ordentlig :-|

Jo, jeg vil manipulere en streng som inneholder en filstruktur. Hvor jeg i et tilfelle er nødt til å endre filstrukturen fra fx:

c:\\folder\\folder2\\folder3\\test.xml
til
c:\\folder\\folder2\\folder3\\tmp\\test.xml

/nute
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