15. marts 2001 - 10:01 Der er 2 kommentarer og
1 løsning

Replace flere forskellige ord - måske Array?!?

Den function replacer blot to mellemrum med et enkelt.

Men jeg vil gerne have den til at replace en masse ord med ingenting, kan jeg definere hvilke ord jeg gerne vil have erstattet f.eks. i et array (er, og, vi, der, her ovs...) med det antal ord som det mig lyster??

(input) er f.eks. en tekststreng på 1000 tegn
                    function DobSpace(input) {
    out = \"  \"; // replace this
    add = \" \"; // with this
    temp = \"\" + input; // temporary holder
                        while (temp.indexOf(out)>-1) {
    pos= temp.indexOf(out);
    temp = \"\" + (temp.substring(0, pos) + add +
    temp.substring((pos + out.length), temp.length));
                        }
    return temp;
    }
15. marts 2001 - 10:11 #1
BTW: må gerne kun virke i IE
Avatar billede jespernaur Nybegynder
16. marts 2001 - 19:33 #2
Du kan bruge følgende funktion:


function multi_replace( original, replace_table )
{
  var result = original;

  for (var i = 0; i < replace_table.length; i = i+2) {
      var regex = new RegExp( replace_table[i], \"g\" );
      result = result.replace( regex, replace_table[i+1] );
  }

  return result;
}


Den bruges således:

  var replace_table = new Array( \"org1\", \"*r1*\",
                                  \"org2\", \"*r2*\" );
  var original = \"bla org1 bli org2 jiorg2 org1 bjbjb\";

  replacement = multi_replace( original, replace_table );

I replacement er alle forekomster af \"org1\" erstattet med \"*r1*\" og alle
forekomster af \"org2\" erstattet af \"*r2*\". Array\'et replace_table kan udvides
efter behov.

Mvh
Jesper Naur

PS: Den virker også i NS.

20. marts 2001 - 17:44 #3
Tak Jesper, det var det jeg havde brug for ;-)

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