Métodos da String do JavaScript

Os métodos de string ajudam você a manipular strings.

Métodos e propriedades de string

Valores primitivos, como "Bill Gates", não podem ter propriedades e métodos (porque não são objetos).

Mas através do JavaScript, métodos e propriedades também podem ser usados para valores primitivos, porque ao executar métodos e propriedades, o JavaScript considera os valores primitivos como objetos.

Comprimento da string

length A propriedade retorna o comprimento da string:

Exemplo

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Experimente você mesmo

Procurar uma string dentro da string

indexOf() O método retorna a string do texto especificadoPrimeiraÍndice de ocorrência (posição):

Exemplo

var str = "O nome completo da China é a República Popular da China.";
var pos = str.indexOf("China");

Experimente você mesmo

O JavaScript conta posições a partir de zero.

0 é a primeira posição da string, 1 é a segunda, 2 é a terceira ...

lastIndexOf() O método retorna a posição do texto especificado na stringPor fimÍndice de uma ocorrência única:

Exemplo

var str = "O nome completo da China é a República Popular da China.";
var pos = str.lastIndexOf("China");

Experimente você mesmo

Se o texto não for encontrado indexOf() E lastIndexOf() Ambos retornam -1.

Exemplo

var str = "O nome completo da China é a República Popular da China.";
var pos = str.indexOf("USA");

Experimente você mesmo

Ambos os métodos aceitam o segundo parâmetro como a posição de início da busca.

Exemplo

var str = "O nome completo da China é a República Popular da China.";
var pos = str.indexOf("China", 18);

Experimente você mesmo

lastIndexOf() O método busca para trás (do final para o início), o que significa: se o segundo parâmetro for 50, a busca começará na posição 50 até o início da string.

Exemplo

var str = "O nome completo da China é a República Popular da China.";
var pos = str.lastIndexOf("China", 50);

Experimente você mesmo

Procurar uma string dentro da string

search() O método busca uma string específica dentro da string e retorna a posição do match:

Exemplo

var str = "O nome completo da China é a República Popular da China.";
var pos = str.search("locate");

Experimente você mesmo

Você notou isso?

os dois métodos,indexOf() e search(), éiguais.

Esses dois métodos são diferentes. A diferença está em:

  • O método search() não pode definir o segundo parâmetro de início.
  • O método indexOf() não pode definir valores de busca mais poderosos (expressões regulares).

Você aprenderáExpressão regularpara aprender esses valores de busca mais poderosos.

Extrair parte da string

Existem três métodos para extrair partes da string:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

Método slice()

slice() Extrai uma parte da string e retorna a parte extraída em uma nova string.

Este método define dois parâmetros: índice de início (posição de início), índice de término (posição de fim).

Este exemplo corta o trecho da string de posição 7 a 13:

Exemplo

var str = "Apple, Banana, Mango";
var res = str.slice(7,13);

O resultado de res é:

Banana

Experimente você mesmo

Se algum parâmetro for negativo, a contagem começa do final da string.

Este exemplo corta o trecho da string de posição -12 a -6:

Exemplo

var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);

O resultado de res é:

Banana

Experimente você mesmo

Se o segundo parâmetro for omitido, este método cortará o resto da string:

Exemplo

var res = str.slice(7);

Experimente você mesmo

ou contar a partir do final:

Exemplo

var res = str.slice(-13);

Experimente você mesmo

Dica:Posições negativas não são aplicáveis nos navegadores Internet Explorer 8 e anteriores.

Método substring()

substring() semelhante a slice().

A diferença está em substring() Não pode aceitar índices negativos.

Exemplo

var str = "Apple, Banana, Mango";
var res = str.substring(7,13);

O resultado de res é:

Banana

Experimente você mesmo

Se o segundo parâmetro for omitido, o substring() Corta o resto da string.

Método substr()

substr() semelhante a slice().

A diferença está no segundo parâmetro que define a parte a ser extraída.Comprimento.

Exemplo

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);

O resultado de res é:

Banana

Experimente você mesmo

Se o segundo parâmetro for omitido, o substr() cortará o resto da string.

Exemplo

var str = "Apple, Banana, Mango";
var res = str.substr(7);

Experimente você mesmo

O resultado de res é:

Banana, Mango

Se o primeiro parâmetro for negativo, a posição é calculada a partir do final da string.

Exemplo

var str = "Apple, Banana, Mango";
var res = str.substr(-5);

Experimente você mesmo

O resultado de res é:

Mango

O segundo parâmetro não pode ser negativo, pois define o comprimento.

Substituir o conteúdo da string

replace() O método substitui outro valor pelo valor especificado na string:

Exemplo

str = "Por favor, visite Microsoft!";
var n = str.replace("Microsoft", "W3School");

Experimente você mesmo

replace() O método não muda a string chamada. Ele retorna uma nova string.

Por padrão,replace() Substitui apenas o primeiro correspondente:

Exemplo

str = "Por favor, visite Microsoft e Microsoft!";
var n = str.replace("Microsoft", "W3School");

Experimente você mesmo

Por padrão,replace() Sensível a maiúsculas e minúsculas. Portanto, não coincide com o MICROSOFT:

Exemplo

str = "Por favor, visite Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

Experimente você mesmo

Para executar substituições insensíveis a maiúsculas e minúsculas, use a expressão regular /i(insensível a maiúsculas e minúsculas):

Exemplo

str = "Por favor, visite Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");

Experimente você mesmo

Por favor, note que a expressão regular não deve conter aspas.

Para substituir todos os correspondentes, use o sinal de expressão regular g Sinal (usado para busca global):

Exemplo

str = "Por favor, visite Microsoft e Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

Experimente você mesmo

Você aprenderá mais sobre expressões regulares em JavaScript neste capítulo.Expressão regulardo conteúdo.

Conversão para maiúsculas e minúsculas

Através toUpperCase() Converter string para maiúsculas:

Exemplo

var text1 = "Hello World!";       // string
var text2 = text1.toUpperCase();  // text2 é a versão em maiúsculas do text1

Experimente você mesmo

Através toLowerCase() Converter string para minúsculas:

Exemplo

var text1 = "Hello World!";       // string
var text2 = text1.toLowerCase();  // text2 é a versão em minúsculas do text1

Experimente você mesmo

Método concat()

concat() Conectar duas ou mais strings:

Exemplo

var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);

Experimente você mesmo

concat() Os métodos podem ser usados para substituir o operador de adição. As duas linhas a seguir são equivalentes:

Exemplo

var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");

Todos os métodos de string retornam uma nova string. Eles não modificam a string original.

Em termos formais: a string é imutável: a string não pode ser alterada, apenas substituída.

String.trim()

trim() O método remove os espaços em branco ao redor da string:

Exemplo

var str = "       Hello World!        ";
alert(str.trim());

Aviso:O Internet Explorer 8 ou versões mais antigas não suportam trim() Método.

Experimente você mesmo

Para suportar o IE 8, você pode usar expressões regulares em conjunto com o método: replace() Método alternativo:

Exemplo

var str = "       Hello World!        ";
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));

Experimente você mesmo

Você também pode usar o método replace acima para adicionar a função trim ao JavaScript String.prototype:

Exemplo

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
var str = "       Hello World!        ";
alert(str.trim());

Experimente você mesmo

Extrair caracteres de uma string

Esses são dois métodos para extrair caracteres de uma string:SeguroMétodo:

  • charAt(posição)
  • charCodeAt(posição)

Método charAt()

charAt() O método retorna a string especificada na posição indicada (índice):

Exemplo

var str = "HELLO WORLD";
str.charAt(0);            // Retorna H

Experimente você mesmo

Método charCodeAt()

charCodeAt() O método retorna o código unicode do caractere especificado na string na posição indicada:

Exemplo

var str = "HELLO WORLD";
str.charCodeAt(0);         // Retorna 72

Experimente você mesmo

Acesso por propriedade (Property Access)

ECMAScript 5 (2009) permite o acesso por propriedade [ ]:

Exemplo

var str = "HELLO WORLD";
str[0];                   // Retorna H

Experimente você mesmo

O acesso por propriedade é um pouco inseguro:

  • Não é aplicável aos Internet Explorer 7 ou versões mais antigas
  • Deixa a string parecer como um array (na verdade não é)
  • Se não encontrar um caractere:[ ] Retorna undefinede charAt() Retorna uma string vazia.
  • É só de leitura.str[0] = "A" Não gera erro (mas também não funciona!)

Exemplo

var str = "HELLO WORLD";
str[0] = "A";             // Não gera erro, mas não funciona
str[0];                   // Retorna H

Experimente você mesmo

Dica:Se você desejar manipular a string como um array, você pode primeiro convertê-la em um array.

Converter string em array

Pode-se split() Converta a string em um array:

Exemplo

var txt = "a,b,c,d,e";   // String
txt.split(",");          // Divide usando vírgula
txt.split(" ");          // Divide usando espaço
txt.split("|");          // Divide usando管道

Experimente você mesmo

Se o delimitador é "\"

Exemplo

var txt = "Hello";       // String
txt.split("\"");           // Divide em caracteres

Experimente você mesmo

Referência Completa de String

Para uma referência completa, acesse nossa referência completa Manual de Referência de String JavaScript.

Este manual contém descrições e exemplos de todas as propriedades e métodos de string.