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

问题描述 投票:3回答:2

我有一个数学方程式

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

有人可以帮我解决问题,提前谢谢。

javascript jquery string
2个回答
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);

2
投票

您可以使用正则表达式并匹配数字标记(数字,可选地后跟句点和其他数字),或匹配任何字符。然后,通过空格加入:

const equation = "(4+5.5)*3+4.5+4.2";
const output = equation
  .match(/\d+(?:\.\d+)?|./g)
  .join(' ');
console.log(output);
© www.soinside.com 2019 - 2024. All rights reserved.