[JavaScript] woord uit string replacen

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008
  • Reageer

  • marcrenzo
  • Registratie: September 2001
  • Laatst online: 03-09 00:02
Is het ook mogelijk om met bijvoorbeeld de replace methode het 2e (of hoeveelste dan ook) overeenkomende woord uit een string te replacen.

dus als ik een string heb "dit is een string met een aantal woordjes en een aantal letters"
en dan wil ik het 2e "een" veranderen.

en zoja hoe moet dat dan?

Verwijderd

Dat gaat het makkelijkst als je werkt met reguliere expressies, het gedeelte van JavaScript (en heel veel andere talen) wat ik tot nu toe vrijwel links heb laten liggen.
Zonder regExp kan het ook, overigens:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function replaceWord(the_sentence, the_word, the_replacement, the_index) {
    var the_array = the_sentence.split(' ');
    var the_counter = 0;
    for(var i=0; i<the_array.length; i++) {
        if(the_array[i] == the_word) {
            the_counter++;
            if(the_counter == the_index) {
                the_array[i] = the_replacement;
            }
        }
    }
    the_sentence = the_array.join(' ');
    alert(the_sentence);
}

replaceWord('dit is een string met een aantal woordjes en een aantal letters', 'een', 'BLAAT', 2);

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Met indexOf kan je toch ook een nummer meegeven van de hoeveelste hij moet hebben of niet?
Anders
x = 0;
While (indx = String.indexOf(ZOEKTERM))
{
if (x >= 1) break; else x++;
}
return String.substr(INPUT, indx, ZOEKTERM.length);

ZO! En nu naar SixFlags !!!! 8-) 8-)
Yehaa :)

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • marcrenzo
  • Registratie: September 2001
  • Laatst online: 03-09 00:02
Bedankt voor de reacties, ik denk dat ik maar voor de methode van blues ga en xlerator, veel plezier en eind juni gaan we met z'n allen nog een keer *D