【问题标题】:jQuery removing '-' character from stringjQuery从字符串中删除'-'字符
【发布时间】:2011-02-26 09:07:09
【问题描述】:

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

我尝试了以下方法但无济于事:

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

【问题讨论】:

    标签: jquery string replace


    【解决方案1】:
    $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 元素。我已经尝试过了,而且效果很好。感谢您的帮助。
    • 以防万一您想删除所有出现的字符串,而不仅仅是第一个,您可以使用:$mylabel.text().replace(/-/g, '');
    【解决方案2】:

    如果你想删除所有-,你可以使用:

    .replace(new RegExp('-', 'g'),"")
    

    【讨论】:

    【解决方案3】:
    $mylabel.text("-123456");
    var string = $mylabel.text().replace('-', '');
    

    如果你已经这样做了,变量string 现在持有"123456"

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

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

    【讨论】:

      猜你喜欢
      • 2013-04-07
      • 1970-01-01
      • 2015-11-14
      • 2016-07-26
      • 2013-09-18
      • 2011-11-22
      相关资源
      最近更新 更多