在数字和字符之间插入空格

时间:2019-04-20 08:29:37

标签: javascript jquery string

我有一个数学方程式

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

有任何人可以帮助我找出答案,谢谢。

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);