Este artigo necessita de uma revisão editorial. Como posso ajudar.
Esta tradução está incompleta. Ajude atraduzir 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 length (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 length (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 string "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) |