使用正则表达式删除带有数字和特殊字符的字符串。这是我的代码
var string = "[Account0].&[1]+[Account1].&[2]+[Account2].&[3]+[Account3].&[4]";
var numbers = string.match(/(\d+)/gi);
alert(numbers.join(','));
此处输出为:0,1,1,2,2,3,3,4
但我想要以下输出1,2,3,4
任何人都可以帮助我。
谢谢,
答案 0 :(得分:2)
看看你想要的是[\ d +],使用这样的exec,
var myRe = /\[(\d+)\]/gi;
var myArray, numbers = [];
while ((myArray = myRe.exec(string)) !== null) {
numbers.push(myArray[1]);
}
答案 1 :(得分:1)
你可以这样做:
string = "[Account0].&[1]+[Account1].&[2]+[Account2].&[3]+[Account3].&[4]";
repl = string.replace(/.*?\[(\d+)\][^\[]*/g, function($0, $1) { return $1 });
//=> "1234"
答案 2 :(得分:0)
我想在这种情况下最简单的解决方案是:
\[(\d+)\]
简单地说你只想要用括号括起来的数字。
此致