我有一串喜欢
AA-12,AB-1,AC-11,AD-8,AE-30
我只想从这个字符串中获取数字喜欢
12,1,11,8,30
我怎样才能使用 JavaScript 得到这个?谢谢 :)
我有一串喜欢
AA-12,AB-1,AC-11,AD-8,AE-30
我只想从这个字符串中获取数字喜欢
12,1,11,8,30
我怎样才能使用 JavaScript 得到这个?谢谢 :)
使用正则表达式,例如
var numbers = yourString.match(/\d+/g);
numbers
然后将是字符串中的数字字符串数组,例如
["12", "1", "11", "8", "30"]
另外,如果您想要一个字符串作为结果
'AA-12,AB-1,AC-11,AD-8,AE-30'.replace(/[^0-9,]/g, '')
var t = "AA-12,AB-1,AC-11,AD-8,AE-30";
alert(t.match(/\d+/g).join(','));
工作示例:http: //jsfiddle.net/tZQ9w/2/
如果这正是您的输入的样子,我将拆分字符串并仅使用数字创建一个数组:
var str = "AA-12,AB-1,AC-11,AD-8,AE-30";
var nums = str.split(',').map(function (el) {
return parseInt(el.split('-')[1], 10);
});
拆分通过分隔符拆分字符串,在本例中为逗号。返回的值是一个数组,我们将把它映射到我们想要的数组中。在里面,我们将拆分连字符,然后确保它是一个数字。
输出:
nums === [12,1,11,8,30];
我完全没有进行任何完整性检查,因此您可能想根据正则表达式对其进行检查:
/^(\w+-\d+,)\w+-\d+$/.test(str) === true
您可以在任何类似的解析问题中遵循相同的模式。