我正在嘗試將類似字串拆分"-10 5 3 *"為組件部分以用于基本算術,同時保持運算子的完整性,例如不會混淆運算-10符-和10. 我應該如何處理這個?
目前我正在根據空格分隔符進行簡單的拆分,并打算撰寫單獨的方法來處理每個操作。但是,這不考慮沒有空格的輸入: example "11 1 1"。我已經探索了每個字符的定界,例如string.split("")但在邏輯中遺漏了一些東西。
String[] simplifyCommand(String s) {
return s.split(" ");
//or s.split(""); for individual characters
}
uj5u.com熱心網友回復:
您可以使用\b單詞邊界正則運算式錨將輸入字串拆分為數字和運算子:
"11 1 1".split("\\b");
上面的運算式將[11, , 1, , 1]作為其結果產生,因此您可以按原樣迭代結果。
同樣,"11 1 1".split("\\b")會產生[-, 11, , 1, , 1]結果。這不應該使解釋操作本身變得更加困難。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488813.html
上一篇:更改字串中的隨機字符
下一篇:從字串中提取資訊并創建新變數
