Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. String
  6. String.prototype.substring()

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

String.prototype.substring()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

Resumo

O métodosubstring() retorna a parte da string entre os índices inicial e final, ou até o final da string.

Sintaxe

str.substring(indexStart[, indexEnd])

Parâmetros

indexStart

Um inteiro entre0 e o comprimento da string (str.length), especificando a posição na string do primeiro caractere a ser incluído na substring retornada.

indexEnd

Opcional. Um inteiro entre0 e o comprimento da string (str.length), especificando a posição na string do primeiro caractere anão ser mais incluído na substring retornada.

Valor retornado

Uma nova string contendo a parte especificada da string fornecida.

Descrição

substring() extrai caracteres desdeindexStart até, masnãoincluindo,indexEnd. Em particular:

  • SeindexStart é igual aindexEnd,substring() retorna uma string vazia.
  • SeindexEnd for omitido,substring() extrai caracteres até o fim da string.
  • Se qualquer argumento for menor que0 ouNaN, ele será tratado como0.
  • Se qualquer argumento for maior questringName.length, ele será tratado como se fossestringName.length

SeindexStart for maior queindexEnd, então o efeito dosubstring() é como se os dois argumentos estivessem trocados, por exemplo,str.substring(1, 0) == str.substring(0, 1).

Exemplos

Usandosubstring()

O seguinte exemplo usasubstring() para mostrar caracteres da palavra 'Mozilla':

js
var anyString = "Mozilla";// Mostra "Moz"console.log(anyString.substring(0, 3));console.log(anyString.substring(3, 0));// Mostra "lla"console.log(anyString.substring(4, 7));console.log(anyString.substring(7, 4));// Mostra "Mozill"console.log(anyString.substring(0, 6));// Mostra "Mozilla"console.log(anyString.substring(0, 7));console.log(anyString.substring(0, 10));

Usandosubstring() comlength

O exemplo a seguir usa o métodosubstring() e a propriedadelength para extrair os últimos caracteres de uma string específica. Este método pode ser mais fácil de lembrar, visto que você não precisa saber os índices inicial e final como faria nos exemplos acima.

js
// Mostra 'illa', os últimos 4 caractereslet anyString = "Mozilla";let anyString4 = anyString.substring(anyString.length - 4);console.log(anyString4);// Mostra 'zilla', os últimos 5 caractereslet anyString = "Mozilla";let anyString5 = anyString.substring(anyString.length - 5);console.log(anyString5);

A diferença entresubstring() esubstr()

Há uma diferença sutil entre os métodossubstring() esubstr(), então você deve ter cuidado para não confundi-los.

Os argumentos desubstring() representam os índices inicial e final, enquanto os argumentos desubstr() representam o índice inicial e o número de caracteres a serem incluídos na string retornada.

Além disso,substr() é considerado umrecurso legacy no ECMAScript e pode ser removido em versões futuras, portanto, é melhor evitar usá-lo, se possível.

js
let text = "Mozilla";console.log(text.substring(2, 5)); // retorna "zil"console.log(text.substr(2, 3)); // retorna "zil"

Diferenças entresubstring() eslice()

Os métodossubstring() eslice() são quase idênticos, mas existem algumas diferenças sutis entre os dois, especialmente na forma como os argumentos negativos são tratados.

O métodosubstring() troca seus dois argumentos seindexStart for maior queindexEnd, o que significa que uma string ainda será retornada. O métodoslice() retorna uma string vazia caso o mesmo ocorra.

js
let text = "Mozilla";console.log(text.substring(5, 2)); // retorna "zil"console.log(text.slice(5, 2)); // retorna ""

Se um ou ambos os argumentos forem negativos ouNaN, o métodosubstring() os tratará como se fossem0.

js
console.log(text.substring(-5, 2)); // retorna "Mo"console.log(text.substring(-5, -2)); // retorna ""

slice() também trata os argumentosNaN como0, mas quando recebe valores negativos, ele conta regressivamente a partir do final da string para encontrar os índices.

js
console.log(text.slice(-5, 2)); // retorna ""console.log(text.slice(-5, -2)); // retorna "zil"

Veja a páginaslice() para mais exemplos com números negativos.

Substituindo umasubstring() com uma string

O seguinte exemplo substitui uma substring dentro de uma string. Ela irá substituir ambos caracteres e substrings individualmente. A função invocada na linha final do exemplo altera a string "Brave New World" para "Brave New Web".

js
function replaceString(oldS, newS, fullS) {  // Substitui oldS por newS na string fullS  for (var i = 0; i < fullS.length; i++) {    if (fullS.substring(i, i + oldS.length) == oldS) {      fullS =        fullS.substring(0, i) +        newS +        fullS.substring(i + oldS.length, fullS.length);    }  }  return fullS;}replaceString("World", "Web", "Brave New World");

Note que isto pode resultar em um loop infinito seoldS for um substring denewS — por exemplo, se você tentou substituir "World" com "OtherWorld". O melhor método para substituir strings é o seguinte:

js
function replaceString(oldS, newS, fullS) {  return fullS.split(oldS).join(newS);}

O código acima serve como um exemplo para operações com substring. Se você precisa substituir substrings, na maioria das vezes você vai querer usarString.prototype.replace().

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.substring

Navegadores compatíveis

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp