文字列方程式を2つの配列、つまり数値と演算子に分割しようとしています。Java:文字列方程式を数値と演算子に分割する
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));
しかし、私のコードが出力します:[3, 20, 0] [, /, .]
しかし、私はカンマ演算子アレイの前にある理由を、私はわからない[3, 20.0] [, /]
を取得しようとしているが、主に私はしたいです20.0をnumbers配列の要素の1つとし、小数点を演算子配列から外してください。
FWIW: '+ - /'文字クラスに+」という意味ではありませんか - または/ "それは_between_ +と/の間の任意の文字を意味します。これはASCIIで "+、 -//"のセットです。 (これが "。"にマッチする理由です)文字クラスに - を入れたい場合は、末尾に置いてください。 –