jQuery移除字符串中的'-'字符

100

我有一个字符串“-123445”。是否可以从字符串中删除“ -”字符?

我尝试了下面的方法,但都没有成功:

$mylabel.text("-123456");
$mylabel.text().replace('-', '');
3个回答

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

由于text()方法获取数值,而text( "someValue" )方法设置数值,因此您只需将一个方法嵌套在另一个方法中。

这相当于执行以下操作:

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

编辑:

我希望我正确理解了问题。我假设$mylabel是引用jQuery对象中的DOM元素,并且该字符串位于元素的内容中。

如果该字符串在DOM之外的某些其他变量中,则您可能想要在将其插入DOM之前针对该变量调用.replace()函数。

像这样:

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

或者更详细的版本:

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

yip $mylabel 引用了一个 DOM 元素。我已经尝试过了,它完美地工作了。感谢您的帮助。 - Riain McAtamney
9
如果您想删除一个字符串的所有出现而不仅仅是第一个,可以使用以下代码:$mylabel.text().replace(/-/g, '');。 - leticia

12
如果您想删除所有的-,可以使用以下方法:
.replace(new RegExp('-', 'g'),"")

如果您要删除句号:https://dev59.com/nXE95IYBdhLWcg3wPrkI - irl_irl
1
它替换所有字符。非常大,就像 :) - Hamid

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

如果您按照这种方式操作,变量string现在包含"123456"

您也可以(我猜更好的方法)这样做...

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接