我有一个喜欢的字符串
AA-12,AB-1,AC-11,AD-8,AE-30
我想从这个字符串中获取数字
12,1,11,8,30
如何使用JavaScript获取此内容?谢谢:))
答案 0 :(得分:6)
使用正则表达式,例如
var numbers = yourString.match(/\d+/g);
numbers
将是字符串中数字字符串的数组,例如
["12", "1", "11", "8", "30"]
答案 1 :(得分:1)
此外,如果您想要一个字符串作为结果
'AA-12,AB-1,AC-11,AD-8,AE-30'.replace(/[^0-9,]/g, '')
答案 2 :(得分:1)
var t = "AA-12,AB-1,AC-11,AD-8,AE-30";
alert(t.match(/\d+/g).join(','));
答案 3 :(得分:1)
如果这正是您输入的样子,我会拆分字符串并使用数字创建一个数组:
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);
});
split将字符串拆分为分隔符,在本例中为逗号。返回的值是一个数组,我们将映射到我们想要的数组。在里面,我们将分裂连字符,然后确保它是一个数字。
输出:
nums === [12,1,11,8,30];
我完全没有进行完整性检查,因此您可能需要针对正则表达式进行检查:
/^(\w+-\d+,)\w+-\d+$/.test(str) === true
您可以在任何类似的解析问题中遵循相同的模式。