如何从输入rpn("2 3 + 7 d -");
中排除字母?
我已尝试过这个:
function rpn(input) {
var str = input.split(/[a-z]/);
return arr;
};
然后我收到2 3 + 7 , -
,所以逗号代替d
然后我尝试使用var str = input.split(/[a-z]\s+/);
删除空格,但这根本不起作用。
我正在寻找这样的结果:2,3,+,7,-
,所以我可以把它推到一个数组并在那里使用它。
答案 0 :(得分:2)
我不清楚你要做什么,从我的理解你想要从你的字符串中删除所有字母和空格,在这种情况下这应该工作:
function rpn(input) {
var str = input.replace(/[a-zA-Z]\s+/g,'');
return str;
};
然而,正如你在上一次提到的那样,你希望将它作为一个由空格分隔的数组返回,在这种情况下这将起作用:
function rpn(input) {
var str = input.replace(/[a-zA-Z]/g,'').split(' ');
return str;
};
答案 1 :(得分:2)
你想做的事情不明确......
如果你想分割字符OR空格的字符串大小写,你可以这样做:
"2 3 + 7 d -".split( /[a-z ]+/ );
^
space is here
将返回一个字符串数组
[ '2', '3', '+', '7', '-' ]
答案 2 :(得分:1)
您似乎正在转换实际上str
的{{1}}。而是将Array
与RegExp.match
一起使用,并使用空字符串连接,该字符串将在内部调用[^a-z ]
Array.join(",")