在JavaScript中拆分此字符串

时间:2015-02-09 21:47:46

标签: javascript

我正在尝试将字符串"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>

2 个答案:

答案 0 :(得分:2)

你做了:

str.split(/\d+/)

获取符号和

str.split(/\D+/)

获取数字

答案 1 :(得分:0)

您从未调用myFunction函数。在前面使用非机械角色[^0-9]。它将匹配任何不是数字的东西。不要使用splitsplit不会将[0-9]识别为分裂字符。请改用string.prototype.match()方法。它将返回一个包含每个匹配的数组。

&#13;
&#13;
    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;
&#13;
&#13;