1

我所拥有的是一个包含特殊字符、字符和整数的字符串,我想要做的是,做类似的事情,如下所述:
假设我有类似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

我不明白。希望任何人都可以帮助我。

4

3 回答 3

1

演示

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])
于 2013-10-24T10:32:23.050 回答
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"]
于 2013-10-24T10:44:40.853 回答
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]);
}
于 2013-10-24T10:46:22.020 回答