Dividindo a matriz com mais dígitos

Oct 07 2020

Vamos supor que eu tenha a seguinte string:

(255+23*452-2)

Então eu uso

string.split("")

então eu obtenho uma matriz. Mas o problema é que eu só consigo um array assim: o [2,5,5,+2,3,*...]que eu não preciso. Preciso obter uma matriz como esta:[255, +, 23, *, 452, -, 2, )...etc]

Obrigado pelo conselho

Respostas

4 RoboRobok Oct 07 2020 at 17:38

Corresponde a tudo o que é um grupo de dígitos ou nenhum dígito:

const string = "(255+23*452-2)";
const components = string.match(/\d+|\D/g);
// ["(", "255", "+", "23", "*", "452", "-", "2", ")"]