jQuery eliminando el carácter '-' de la cadena

93

Tengo una cadena "-123445". ¿Es posible eliminar el carácter '-' de la cadena?

He intentado lo siguiente, pero fue en vano:

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

Respuestas:

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

Dado que text()obtiene el valor y text( "someValue" )establece el valor, simplemente coloque uno dentro del otro.

Sería el equivalente a hacer:

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

EDITAR:

Espero haber entendido la pregunta correctamente. Estoy asumiendo$mylabel hace referencia a un elemento DOM en un objeto jQuery, y la cadena está en el contenido del elemento.

Si la cadena está en alguna otra variable que no es parte del DOM, entonces probablemente querrá llamar a la .replace()función contra esa variable antes de insertarla en el DOM.

Me gusta esto:

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

o una versión más detallada:

var someVariable = "-123456";
someVariable = someVariable.replace('-', '');
$mylabel.text( someVariable );
usuario113716
fuente
yip $ mylabel hace referencia a un elemento DOM. Probé esto y funciona perfectamente. Gracias por tu ayuda.
Riain McAtamney
9
En caso de que desee eliminar todas las apariciones de una cadena, en lugar de solo la primera, puede usar: $ mylabel.text (). Replace (/ - / g, '');
leticia
11

Si desea eliminar todo -, puede usar:

.replace(new RegExp('-', 'g'),"")
Elnaz
fuente
Si está eliminando un punto / punto completo: stackoverflow.com/questions/2390789/…
irl_irl
1
reemplaza todos los caracteres. grande como :)
Hamid
8
$mylabel.text("-123456");
var string = $mylabel.text().replace('-', '');

si lo has hecho así variable string ahora se mantiene"123456"

también puedes (supongo que es la mejor manera) hacer esto ...

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});
Reigel
fuente