我正在尝试将字符串"1 + 2 / 3 * 4 - 5 "
拆分为显示"+" "/" "*" "-"
以保存到数组中,这与数字相同,因此我将每个数字和op'调用为函数以BODMAS (/*+-)
顺序计算它。
字符串可以更长更短,因为它是用户输入计算。
<p id="demo"></p>
<script>
function myFunction() {
var str = "1+2/3*4-5";
var res = str.split([0-9]);
document.getElementById("demo").innerHTML = res;
}
</script>
答案 0 :(得分:2)
你做了:
str.split(/\d+/)
获取符号和
str.split(/\D+/)
获取数字
答案 1 :(得分:0)
您从未调用myFunction
函数。在前面使用非机械角色[^0-9]
。它将匹配任何不是数字的东西。不要使用split
。 split
不会将[0-9]识别为分裂字符。请改用string.prototype.match()方法。它将返回一个包含每个匹配的数组。
function myFunction() {
var str = "1+2/3*4-5";
var match=str.match(/[^0-9]+/g);
for(i=0;i<match.length;i++){
document.getElementById('demo').innerHTML+=match[i]+'</br>';
}
}
myFunction();
&#13;
<p id="demo"></p>
&#13;