Hoe kan ik met Javascript een teken uit een string verwijderen?
Ik ben zo dichtbij om dit te krijgen, maar het is gewoon't goed.
Alles wat ik wil doen is het karakter r
uit een string verwijderen.
Het probleem is, er is meer dan één instantie van r
in de string.
Het is echter altijd het karakter op index 4 (dus het 5e karakter).
voorbeeld string: crt/r2002_2
Wat ik wil: crt/2002_2
Deze vervangfunctie verwijdert zowel r
mystring.replace(/r/g, '')
Produceert: ct/2002_2
Ik heb deze functie geprobeerd:
String.prototype.replaceAt = function (index, char) {
return this.substr(0, index) + char + this.substr(index + char.length);
}
mystring.replaceAt(4, '')
Het werkt alleen als ik het vervang door een ander teken. Het zal het niet gewoon verwijderen.
Iemand een idee?
309
3
zal
/r
vervangen door/
met behulp vanString.prototype.replace
.Als alternatief zou je regex met een globale vlag kunnen gebruiken (zoals voorgesteld door Erik Reppen & Sagar Gala, hieronder) om alle voorkomens te vervangen door
EDIT: Aangezien iedereen's zo veel plezier heeft hier en user1293504 niet snel lijkt terug te komen om verhelderende vragen te beantwoorden, hier's een methode om het Nde karakter uit een string te verwijderen:
Omdat user1293504 de normale telling gebruikte in plaats van een nul geïndexeerde telling, moeten we'1 van de index verwijderen, als je dit wilt gebruiken om te repliceren hoe
charAt
werkt, trek dan geen 1 af van de index op de 3e regel en gebruik in plaats daarvantmp.splice(i, 1)
.Er zijn altijd nog de string functies, als je weet dat je altijd het vierde teken gaat verwijderen:
char.length
is nul. Je moet in dit geval1
toevoegen om het karakter over te slaan.