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('-', '');
Riain McAtamney
fonte

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 );
user113716
fonte
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
11

Se você deseja remover tudo, -pode usar:

.replace(new RegExp('-', 'g'),"")
Elnaz
fonte
Se você estiver removendo um ponto final / período: stackoverflow.com/questions/2390789/…
irl_irl
1
é substituir todos os chars. grande como :)
Hamid
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('-','');
});
Reigel
fonte