Avatar billede zeusdk Nybegynder
20. februar 2003 - 15:29 Der er 11 kommentarer og
1 løsning

Erstat i reg.exp.

Hej

Jeg skal bruge en reg.exp-funktion, som erstatter alle plinger med ´-tegnet.

' -> ´
Avatar billede atoft Nybegynder
20. februar 2003 - 15:32 #1
dinStrengMedPlinger.replace("'","´");
Avatar billede bearhugx Nybegynder
20. februar 2003 - 16:08 #2
hmm atoft >>
Når jeg kører
        var str = "Søren Munk Skrøder";
    str = str.replace("ø", "?");
    document.write(str);

så får jeg outputtet
  S?ren Munk Skrøder ???

Kun første 'ø' bliver erstattet - hvordan kan det være ???
Avatar billede olebole Juniormester
20. februar 2003 - 16:31 #3
<ole>

bearhugx >> Du skal lave din søgning global:
  str = str.replace( /ø/g, "?" );

/mvh
</bole>
Avatar billede bearhugx Nybegynder
20. februar 2003 - 16:38 #4
Ohh :-))

Men /.../ notation - virker den kun litteralt ... Hvad nu, hvis jeg havde "ø"'et i en variabel....

Jeg kan jo ikke skrive
  var rep = "ø";
  str.replace("/"+rep+"/g", "oe");

altså ... hvordan replacer jeg globalt uden at skulle indsætte, hvad jeg gerne vil have erstattet, litteralt

/Søren
Avatar billede bearhugx Nybegynder
20. februar 2003 - 16:39 #5
(for i ovenstående vil den jo søge efter strengen "/ø/g" og den finder den jo ikke i mit navn :-))
Avatar billede olebole Juniormester
20. februar 2003 - 16:45 #6
Har du testet det, jeg skrev? Prøv:

var str = "Søren Munk Skrøder";
str = str.replace( /ø/g, "oe" );
alert(str);

Eller misforstår jeg dig?
/mvh
Avatar billede bearhugx Nybegynder
20. februar 2003 - 16:53 #7
ole >> dit replace( /ø/g, "oe" ) virker fint ...  Men det jeg så, yderligere. spørg om, er, hvordan man skal håndtere "HVAD"-parameteren, hvis man har "hvad-der-skal-erstattes" gemti en variabel...

Kan man bare bruge replace-metoden - eller skal man ud og lave et pattern først a.la.
  var str = "Søren Munk Skrøder";
  var replaceThis = "ø";
  var pattern = new RegExp(replaceThis, "g");
  document.write( str.replace(pattern, "oe") );
Avatar billede olebole Juniormester
20. februar 2003 - 16:57 #8
Ahaaa ...!  ;o))
Ja, det er du nødt til  :)
/mvh
Avatar billede bearhugx Nybegynder
20. februar 2003 - 16:59 #9
zeusdk >> undskyld, jeg sådan hijacker dit spørgsmål med mine egne spm...

For at citere atoft, så skal du bruge følgende
strMedPlinger.replace( /'/g, "´");

dvs - husk at gøre den global med /g :-)
Avatar billede zeusdk Nybegynder
20. februar 2003 - 17:10 #10
>>bearhugx

:-)
Avatar billede olebole Juniormester
20. februar 2003 - 17:11 #11
Faktisk er denne bedre (da man ikke må bruge special-tegn i JS, hvis det skal være helt rigtigt):
  strMedPlinger.replace( /'/g, "\264");

... og faktisk bør man også bruge \370 i stedet for ø  ;o)
/mvh
Avatar billede olebole Juniormester
20. februar 2003 - 17:12 #12
PS: Tallene er oktal-tal-værdien af tegnets keyCode
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