JavaScript:
Ta bort tecken som matchar ett mönster
How to:
För att ta bort tecken som matchar ett mönster i JavaScript använder vi oftast replace()
-metoden tillsammans med reguljära uttryck.
let str = "Hej123, hur mår du idag?";
let cleanedStr = str.replace(/\d+/g, '');
console.log(cleanedStr); // Output: "Hej, hur mår du idag?"
Den här koden tar bort alla siffror från strängen. RegExp /d+/g
matchar alla sekvenser av siffror och replace()
tar bort dem.
Deep Dive
Historiskt sett utvecklades reguljära uttryck i teoretisk datorvetenskap och implementerades för första gången i programmeringsspråk på 60-talet. I JavaScript introducerades RegExp-objektet för att möjliggöra sökning och manipulering av strängar med mönstermatchning.
Det finns alternativ till reguljära uttryck:
- loopar och villkor för att manuellt filtrera något tecken.
- String-metoder som
filter()
ochindexOf()
.
När det gäller implementation, replace()
-metoden kan ta emot ett RegExp-objekt eller en sträng som första parameter. Den andra parametern kan vara en ny sträng som ersätter det matchade mönstret eller en funktion för mer komplicerade ersättningar.
See Also
- MDN Web Docs för RegExp: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
- MDN Web Docs för String.prototype.replace(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
- En interaktiv RegExp-resurs: https://regexr.com/