Remover caracteres de uma string

Quais são as maneiras diferentes de remover caracteres de uma string em JavaScript?

Usar replace() com expressões regulares é o mais flexível / poderoso. Também é a única maneira de replace globalmente cada instância de um padrão de pesquisa em JavaScript. A variante non-regex de replace() somente replaceá a primeira instância.

Por exemplo:

 var str = "foo gar gaz"; // returns: "foo bar gaz" str.replace('g', 'b'); // returns: "foo bar baz" str = str.replace(/g/gi, 'b'); 

No último exemplo, o trailing /gi indica insensibilidade a maiúsculas e substituição global (o que significa que não apenas a primeira instância deve ser substituída), que é o que você normalmente quer quando está substituindo em strings.

Para remover caracteres, use uma string vazia como substituta:

 var str = "foo bar baz"; // returns: "foo rz" str.replace(/ba/gi, ''); 

ONELINER que remove os caracteres LIST (mais de um de uma só vez) – por exemplo, remove +,-, ,(,) ,, +,-, ,(,) do número de telefone:

 var str = "+(48) 123-456-789".replace(/[-+()\s]/g, ''); // result: "48123456789" 

Usamos a expressão regular [-+()\s] onde colocamos caracteres indesejados entre [ e ]

(o ” \s ” é escape do personagem ‘espaço’ – para mais informações o ‘personagem google’ escapa no regexp ‘)

Eu sei que isso é antigo, mas se você fizer uma divisão, junte-se a ele para remover todas as ocorrências de um caractere específico, ou seja:

 var str = theText.split('A').join('') 

irá remover todas as ocorrências de ‘A’ da string, obviamente, não faz distinção entre maiúsculas e minúsculas

Você pode usar a function de substituição .

 str.replace(regexp|substr, newSubstr|function) 

Outro método sobre o qual ninguém falou até agora é o método substr para produzir strings de outra string … isto é útil se sua string tiver comprimento definido e os caracteres que você está removendo estiverem em ambas as extremidades da string … ou dentro alguma “dimensão estática” da string.