J'essaie de diviser une équation de chaîne en deux tableaux: nombres et opérateurs.Java: Division de l'équation de chaîne en nombres et opérateurs
String expr = "3/20.0";
String[] numbers = expr.split("[+-/\\*]");
String[] operators = expr.split("[^+-/\\*]+");
System.out.println(Arrays.toString(numbers));
System.out.println(Arrays.toString(operators));
Mais mon code imprime: [3, 20, 0] [, /, .]
Mais je suis en train de se [3, 20.0] [, /]
Je ne sais pas pourquoi la virgule est en face du tableau des opérateurs, mais surtout je veux juste 20.0 pour être un élément dans le tableau de nombres et garder les points décimaux hors de mon tableau d'opérateurs.
de FWIW: '+ - /' dans la classe de caractères ne signifie pas « + ou - ou/"cela signifie tout caractère _entre_ + et /. Lequel en ASCII est l'ensemble "+, -. /". (C'est pourquoi il correspond au ".") Si vous voulez mettre un - dans une classe de caractères, mettez-le à la fin. –