TypeScript:
Substrings extraheren
Hoe doe je dat:
In TypeScript snijd en hak je strings met methoden zoals substring()
, slice()
, en de ES6 includes()
voor het vinden van tekst binnen strings.
let volledigeString: string = "Hallo, TypeScript enthousiastelingen!";
// Pak van karakter 7 tot 18
let substr: string = volledigeString.substring(7, 18);
console.log(substr); // Geeft uit: TypeScript
// Hetzelfde maar dan met slice()
let gesneden: string = volledigeString.slice(7, 18);
console.log(gesneden); // Geeft uit: TypeScript
// Controleer of een substring bestaat
let bestaat: boolean = volledigeString.includes("TypeScript");
console.log(bestaat); // Geeft uit: waar
Dieper Duiken
Ooit was stringmanipulatie lastiger—denk aan de stringfuncties van C. Nu bieden JavaScript en TypeScript methoden die Unicode hanteren, rekening houden met karaktercodering, en rechtstreeks werken met stringobjecten. substring()
en slice()
lijken op elkaar maar met een twist: slice()
kan negatieve indices aannemen, retroactief tellend vanaf het einde. substring()
behandelt ze als nullen. In prestatiegevoelige situaties kan het kiezen van de een boven de ander belangrijk zijn, maar voor dagelijks gebruik is het veel van hetzelfde.
// Negatieve index gebruiken met slice
let eindeGesneden: string = volledigeString.slice(-25, -7);
console.log(eindeGesneden); // Geeft uit: Hallo, Type
Wat betreft includes()
, het is een zegen voor leesbaarheid ten opzichte van de klassieke indexOf()
, waardoor je intenties in één oogopslag duidelijk zijn. Niet meer if (string.indexOf('some text') !== -1)
; gewoon een rechttoe rechtaan if (string.includes('some text'))
.
Zie Ook
- Het TypeScript handboek over strings, voor meer over hoe je
'string'
types gebruikt: TypeScript String - MDN Web Docs over String-methoden in JavaScript, toepasbaar voor TypeScript: MDN String
- Voor meer begrip van Unicode en JavaScript (dus ook TypeScript), bekijk Understanding JavaScript’s internal character encoding: UCS-2? UTF-16?