我正在尝试创建一个特定的计算器,但为了使它工作,我需要一种方法将字符串拆分为两个。
说我有字符串'5+5==10*2'
。我需要一种方法将'5+5'
分成一个变量/字符串,将'10*2'
分成另一个变量/字符串。
这甚至可能吗?在JavaScript中实现这一目标的最简单或最好的方法是什么?
答案 0 :(得分:0)
使用split('==')
获取数组中的分割值。然后根据您的上下文使用这些值。
var str = "5+5==10*2";
var res = str.split('==');
console.log(res);
//or print individual value
res.forEach(item=>console.log(item));
答案 1 :(得分:0)
您正在寻找的是一种解析以字符串表示的操作的方法。您可以将它们分为两部分:
您可以将带有比较运算符的字符串拆分为表达式列表。这些将是操作数和运算符的字符串。
您可以进一步拆分此字符串以获取各个部分,以获取可以执行计算的数据。
以下是一个示例:
function getExpressionList(str) {
var seperateRegex = /==|===|\!=|\!==/;
return str.split(seperateRegex);
}
function getOperandsWithOP(str) {
const operatorRegex = /\+|-|\/|\*|^|%/
const decimalRegex = /\d+/;
const expressionList = getExpressionList(str);
return expressionList.map((expression) => {
const operands = expression.split(operatorRegex);
const operators = expression.split(decimalRegex).filter(x => !!x);
return { operands, operators }
})
}
var str = "5+5==10*2";
console.log(getOperandsWithOP(str))