jQuery removendo o caractere '-' da string


93

Eu tenho uma string "-123445". É possível remover o caractere '-' da string?

Eu tentei o seguinte, mas sem sucesso:

$mylabel.text("-123456");
$mylabel.text().replace('-', '');

Respostas:


168
$mylabel.text( $mylabel.text().replace('-', '') );

Uma vez que text()obtém o valor e text( "someValue" )define o valor, basta colocar um dentro do outro.

Seria o equivalente a fazer:

var newValue = $mylabel.text().replace('-', '');
$mylabel.text( newValue );

EDITAR:

Espero ter entendido a pergunta corretamente. Estou assumindo que $mylabelestá fazendo referência a um elemento DOM em um objeto jQuery e a string está no conteúdo do elemento.

Se a string estiver em alguma outra variável que não faz parte do DOM, provavelmente você desejará chamar a .replace()função nessa variável antes de inseri-la no DOM.

Como isso:

var someVariable = "-123456";
$mylabel.text( someVariable.replace('-', '') );

ou uma versão mais detalhada:

var someVariable = "-123456";
someVariable = someVariable.replace('-', '');
$mylabel.text( someVariable );

yip $ mylabel está fazendo referência a um elemento DOM. Eu tentei isso e funciona perfeitamente. Obrigado pela ajuda.
Riain McAtamney

9
Caso queira remover todas as ocorrências de uma string, ao invés de apenas a primeira, você pode usar: $ mylabel.text (). Replace (/ - / g, '');
leticia


8
$mylabel.text("-123456");
var string = $mylabel.text().replace('-', '');

se você fez dessa forma, a variável stringagora se mantém"123456"

você também pode (eu acho que é a melhor maneira) fazer isso ...

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.