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 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 に答える
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 に答える
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 に答える