JSFiddle - React, Tailwind, and code Playground

HTML

<pre id="out"></pre>

JavaScript

function foo(str) {
  const groupA = '1234567890 .';
  const result = [];
  let chunk = '';

  str.split('').forEach((char, i) => {
    if (groupA.includes(char)) {
      chunk += char;
    } else {
      if (chunk.length) {
        result.push(chunk);
        chunk = '';
      }
      result.push(char);
    }
  });

  if (chunk.length) {
    result.push(chunk);
  }
  return result;
}




// test
const control = ['5 ', '/', '(', '2', '-', '  3', ')', '*', ' 1.333333 ', '+ ', '-', '11 '];
const str = '5 /(2-  3)* 1.333333 + -11 ';
out.textContent = control.join('|') + '\n' + foo(str).join('|');