[英]Java: Splitting string equation into numbers and operators
我正在嘗試將字符串方程拆分為兩個數組:數字和運算符。
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 作為數字數組中的一個元素,並將小數點保留在我的運算符數組之外。
逗號只是向您顯示元素分區。
這個[,
表示第一個元素是空白的。
試試這些原始的正則表達式
對於數字,在[^\\d.]+
上拆分
對於運算符,拆分[\\d.]+
而且,我不知道 Java split 是否可以刪除空元素,但您想
如果可以的話,做一個檢查發布過程。
拆分筆記 -
[\\d.]+
是一個通常匹配數字的類,即。 'dd.dd'(葉運算符)
[^\\d.]+
是與運算符匹配的反函數(葉數)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.