[英]split a string with numbers with operations
我如何分割一個字符串,如
'11+4+3'
變成['11', '+', '4', '+', '3']
嗎?
甚至將
[1, 1, '+', 4, '+', 3]
變成[11, '+', 4, '+', 3]
嗎?
用正則表達式分割字符串
/[^0-9]/g
將拆分為我想要的數字,但將刪除操作值。 我需要一種方法來保留操作值。 我也知道字符串的eval()
會自動將字符串值添加到數字值中,但是我試圖弄清楚如何在不使用eval()
情況下添加數字和操作字符串。
var str = "11+3+4";
console.log(str.split(/(\+)/));
輸出:
["11", "+", "3", "+", "4"]
function parseAsParts(input) {
if (input instanceof Array) {
input = input.join('');
}
var retVal = [];
var thisMatch = null;
var partSearch = /(\d+|[+-=])/g;
while (thisMatch = partSearch.exec(input)) {
retVal.push(thisMatch[0]);
}
return retVal;
}
那似乎得到您想要的。 您可以在正則表達式中帶有“ +-=”的位置添加更多字符。 但是,它不會驗證字符串是否具有所需的格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.