Ce face String.prototype.substring
substring returnează caracterele de la poziția inceput până la sfarsit, fără caracterul de pe poziția sfarsit. Fără al doilea parametru, merge până la capăt.
Diferențe față de slice: valorile negative sunt tratate ca 0, iar dacă inceput este mai mare decât sfarsit, cele două sunt inversate. În cod nou, slice este de obicei alegerea mai clară.
Metoda veche substr(inceput, lungime) primea lungimea în loc de poziția de final. Este învechită; folosește slice sau substring.
Parametri
| Parametru | Descriere |
|---|---|
inceput |
Poziția primului caracter inclus. |
sfarsit |
Opțional. Poziția la care se oprește (exclusă). |
Ce returnează
Un șir nou.
Exemple
Exemplul 1: substring și slice
const text = "JavaScript";
console.log(text.substring(0, 4));
console.log(text.substring(4));
console.log(text.substring(4, 0));
console.log(text.substring(-3));
console.log(text.slice(-3));
Rezultat
Java
Script
Java
JavaScript
ipt
Exemplul 2: Domeniul dintr-o adresă de email
const email = "ana.pop@exemplu.ro";
console.log(email.substring(email.indexOf("@") + 1));
console.log(email.substring(0, email.indexOf("@")));
Rezultat
exemplu.ro
ana.pop
Greșeli frecvente
- Dai un indice negativ și te aștepți să numere de la sfârșit, ca la
slice.substring(-3)returnează tot textul. - Folosești
substrdin cod vechi. Funcționează încă, dar este învechită;sir.substr(2, 3)devinesir.slice(2, 5).
Comenzi înrudite
slice: Extrage o bucată dintr-un text sau dintr-un tablou, fără să modifice originalul.String.prototype.indexOf / lastIndexOf: Returnează poziția primei (sau ultimei) apariții a unui text, ori -1 dacă nu apare.split: Împarte un text în bucăți după un separator și returnează un tablou.