我的方法成功地使用二進制表達式樹並將其轉換爲前綴,後綴和中綴表示法。但是,由於最終字符串的準確性,它必須完全相等。Java String.split error
因此,在我返回輸出之前,我會運行一種方法來快速編輯輸出以消除任何缺陷。
(*(8 + 4)( - 7(/ 6 3)))===>(*(8 + 4)( - 7(/ 6 3)))
(( 8 4 +)(7(6 3 /) - ))=====>((8 4 +)(7(6 3 /) - ))
什麼需要改變,是父母之間的間隔。我的目標是找到所有的字符串的情況下,刪除它們,並重新輸入字符串中沒有空格。
下劃線是多餘的空格 (* (+ 8 4)( - 7 _(/ 6 3)))
我的代碼被supposted是String.split(") (");
但錯誤標誌.. unmatched closing ')')(???
public String antibullshiter(String out) {
out = out.replaceFirst(") (", "X"); //edited
String[] parts = out.split("X");
String part1 = parts[0];
String part2 = parts[1];
part1 = part1 + ")";
part2 = part2 + "(";
out = part1 + part2;
return out;}
如何利用String.split()的強大功能?
編輯:感謝球員,但我意識到我只是在本身
您需要了解[正則表達式(http://docs.oracle。com/javase/tutorial/essential/regex /),因爲'split()'沒有使用純字符串來分割 – vandale