删除字符"之前和之后"某些角色Jquery

时间:2013-10-24 10:23:44

标签: jquery regex

我所拥有的是一个包含特殊字符,字符和整数的字符串,我想要做的是,做类似的事情,如下所述:
说我有像Radiobutton_12这样的字符串。我想在“_”之前删除所有字符。那就是:

    var s = Radiobutton_12 
    s = s. Substring (s. indexOf ("_") +1);

    Same as I can remove character after all that. But what scenario demands is:

     radiobutton1_1, radiobutton2_1, radiobutton3_1

    What if I want to keep, 1 1, 2 1, 3 1

我没有得到那个。希望任何人都可以帮助我。

3 个答案:

答案 0 :(得分:1)

DEMO

var str='radiobutton1_1';
var str1=  'radiobutton2_1';
var str2=    'radiobutton3_1';

var spiltStr1=str.split('_');
var spiltStr2=str1.split('_');
var spiltStr3=str2.split('_');

alert(spiltStr1[0].replace( /^\D+/g, '')+" "+spiltStr1[1])
alert(spiltStr2[0].replace( /^\D+/g, '')+" "+spiltStr2[1])
alert(spiltStr3[0].replace( /^\D+/g, '')+" "+spiltStr3[1])

答案 1 :(得分:1)

我相信它可以在单行中完成:

var arr = str.split(/\D+/).filter(Boolean);

<强>测试

arr = 'RadioButton11_12'.split(/\D+/).filter(Boolean);
["11", "12"]

arr = 'RadioButton_12'.split(/\D+/).filter(Boolean);
["12"]

答案 2 :(得分:0)

@Prabu Parthipan解决方案将解决您的问题,但如果您只想从字符串中取出数字对,则可以使用正则表达式。

var r = /\d+/g;
var s = "RadioButton11_12";
var m = s.match(r);

for(var i=0;i<m.length;i++){
    console.log(m[i]);
}