javascript - 如何从字符串中分离数字和算术运算符?
问题描述
我有一个字符串,我需要读取它并将其划分为数字和计算器的运算。
例如:如果输入是"22*432+33"
我需要控制台将字符串作为一个整体并将数字添加到数组中,直到找到操作符号并将操作符号推送到另一个数组中,以便输出结果:
numbers = ["22", "432", "33"];
operations = ["*", "+"];
我使用的语言是 javascript 我知道问题可能是板,但我试图解决它一周但没有成功。
我的失败尝试之一:
var numbers = [];
var tokens = ["+", "-", "/", "*"];
var textfield = "22*432+33";
for (var i = 0; i <= textfield.trim().length; i++) {
if (tokens.includes(textfield[i]) == false) {
numbers.push(textfield.split());
}
}
console.log(textfield);
console.log(tokens);
console.log(numbers);
输出结果:
解决方案
您可以将输入拆分为数字和非数字。
const input = "22*432+33";
const numbers = input.split(/\D/g);
const op = input.split(/\d/g).filter(Boolean);
console.log(numbers);
console.log(op);
推荐阅读
- transactions - 是否可以忽略 Propel 中的嵌套回滚?
- algorithm - 检查一个数字是否为偶数的最模糊、最低效和最具挑战性的理解方法是什么?
- azure - Azure 中的 Salesforce 到 SAP 连接
- authentication - 验证 API 密钥和 JWT 令牌是微服务的责任吗?
- python - 错误“至少需要两个输入;得到 1。” Python
- ios - 使用 swift 在 Core data 中编辑保存的数据
- ssas - 使用 DirectQuery 模式的 SSAS 表格模型中的分区问题
- swift - 实时 ForEach 视图更新 (macOS) 上的 SwiftUI CPU 高使用率
- python - 警告:类“list”的未解析属性引用“all”
- python - 我的 docker 容器与我的 pc 具有相同的模块,但无法正常工作