我認爲一天的問題,但仍然無法解決它。 我有一個公式輸入像「11 + 1 + 1 + 2」。無空間在算術公式中使用分割()
我想根據運營商拆分公式。 然後我寫這樣的:
String s = "11+1+1+2";
String splitByOp[] = s.split("[+|-|*|/|%]");
for(int c=0; c < splitByOp.length; c++){
System.out.println(splitByOp[c]);
The output is:
11
1
1
2
我希望把操作數(輸出),也是運營商(+)到一個ArrayList。但是,我怎樣才能讓運營商在分拆之後保留下來?
我試着讓另一個數組分割數字。
String operator[] = s.split("\\d");
但結果是11成爲11.操作者的長度[]是5
換句話說,如何可以執行像:
The output:
11
+
1
+
1
+
2
*一些人,當遇到一個問題,想 「我知道,我將使用正則表達式。」現在他們有兩個問題。* - 傑米Zawinski撰寫 – 2014-11-08 13:24:22
使用「\ b「的作品。我在w3schools中查看\ b的含義:在單詞的開頭/結尾找到匹配項。這是否意味着java自動匹配? – annie 2014-11-08 13:28:25