TypeScript:
Tekstin etsiminen ja korvaaminen
How to:
function replaceString(original: string, searchValue: string, replaceValue: string): string {
return original.replace(new RegExp(searchValue, 'g'), replaceValue);
}
// Esimerkki käytöstä:
const story: string = "Old MacDonald had a farm, E-I-E-I-O.";
const updatedStory: string = replaceString(story, "Old", "Young");
console.log(updatedStory); // Tulostaa: Young MacDonald had a farm, E-I-E-I-O.
Deep Dive
Tekstin hakeminen ja korvaaminen juontaa juurensa tekstinkäsittelyn alkuhämäriin, kun yksinkertaiset komentorivityökalut, kuten sed
Unix-järjestelmissä, mahdollistivat sen. TypeScriptissä, kuten monissa moderneissa kielissä, replace
-funktio käyttää säännöllisiä lausekkeita tekstinhakuun ja korjaukseen, mikä tekee siitä voimakkaan. Vaihtoehtoisesti voit käyttää kirjastoja, kuten lodash
tai replace-in-file
, jotka tarjoavat lisäominaisuuksia ja yksinkertaistettua APIa.
Hakuarvon ja korvattavan arvon kehittyneempää käsittelyä varten voit käyttää lamda-lausekkeita (arrow functions):
const result: string = story.replace(/(Old|Young) MacDonald/, (match) => {
return match === "Old MacDonald" ? "Young MacDonald" : "Old MacDonald";
});
Tässä otetaan käyttöön dynaamisesti muuttuva logiikka korvaukselle, riippuen vastaavuudesta. Tällainen joustavuus on hyödyllinen kompleksisissa korjaustarpeissa.
See Also
- MDN RegExp - developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- TypeScript Handbook - typescriptlang.org/docs/handbook/intro.html
lodash
replace - lodash.com/docs/#replacereplace-in-file
npm package - npmjs.com/package/replace-in-file