MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

Resumo

O método substring() retorna um subconjunto de uma string entre um indice e outro, ou até o final da string.

Sintaxe

str.substring(indexInicio[, indexFim])

Parâmetros

indexInicio
Um inteiro entre 0 e o  comprimento da string, especificando a posição na string do primeiro caractere a ser incluído na substring retornada.
indexFim
(opcional) Um inteiro entre 0 e o comprimento da string, especificando a posição na string do primeiro caractere a não ser mais incluído na substring retornada.

Descrição

substring() extrai caracteres desde indexInicio até, mas não incluindo indexFim. Em particular:

  • Se indexInicio é igual a indexFim, substring() retorna uma string vazia.
  • Se indexFim é omitido, substring() extrai caracteres até o fim da string.
  • Se qualquer argumento for menor que 0 ou NaN, ele é tratado como 0.
  • Se qualquer argumento for maior que stringName.length, ele é tratado como se fosse stringName.length

Se indexInicio for maior que indexFim, então o efeito do substring() é como se os dois argumentos estivessem trocados, por exemplo, str.substring(1, 0) == str.substring(0, 1).

Exemplos

Exemplo: Usando substring

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

// assumes a print function is defined
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));

Exemplo: Substituíndo uma substring 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".

function replaceString(oldS, newS, fullS) {
// Replaces oldS with newS in the 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 se oldS for um substring de newS -- por exemplo, se você tentou substituir "World" com "OtherWorld". O melhor método para substituir strings é o seguinte:

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 voce precisa substituir substrings, na maioria das vezes você vai querer usar String.prototype.replace().

Especificações

Especificação Status Comentário
ECMAScript 1st Edition. Standard Implementado no JavaScript 1.0
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.substring' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.substring' in that specification.
Standard  

Compatibilidade de browsers

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também

Etiquetas do documento e colaboradores

Etiquetas: 
 Colaboradores desta página: evertonsilva, gusleindecker, brunodsgn, luis.kaufmann.silva
 Última atualização por: evertonsilva,