我有一个数学方程式
var equation="(4+5.5)*3+4.5+4.2";
当我这样做
equation.split('').join(' ');
获取输出,每个字符之间留有空格。
( 4 + 5 . 5 ) * 3 + 4 . 5 + 4 . 2
如何在数字和字母字符之间插入空格?
样本输出:
( 4 + 5.5 ) * 3 + 4.5 + 4.2
有任何人可以帮助我找出答案,谢谢。
答案 0 :(得分:5)
您可以填充操作员。
var string = "(4+5.5)*3+4.5+4.2",
result = string.replace(/[+\-*/]/g, ' $& ');
console.log(result);
带空格的括号。
var string = "(4+5.5)*3+4.5+-4.2",
result = string
.replace(/[+\-*/()]/g, ' $& ')
.replace(/([+\-*/]\s+[+\-])\s+/, '$1')
.replace(/\s+/g, ' ').trim();
console.log(result);
答案 1 :(得分:2)
您可以使用正则表达式来匹配数字标记(数字,可以选择后跟一个句点和其他数字),或者匹配任何字符。然后,加入一个空格:
const equation = "(4+5.5)*3+4.5+4.2";
const output = equation
.match(/\d+(?:\.\d+)?|./g)
.join(' ');
console.log(output);