String.prototype.substring în JavaScript

Șiruri de caractere Toate browserele, Node.js

Returnează bucata de text dintre două poziții; asemănătoare cu slice, dar fără indici negativi.

Sintaxă
sir.substring(inceput, sfarsit)

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 substr din cod vechi. Funcționează încă, dar este învechită; sir.substr(2, 3) devine sir.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.