簡體   English   中英

Java:將字符串方程拆分為數字和運算符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM