2014-10-29 58 views
0

我正在爲我的Java類編寫一個程序,該程序應該將用戶放入的任何電源提升2,並在用戶輸入-1時終止。提高權力和類似的工作,但我必須過濾字母的代碼也過濾出特殊字符。有什麼建議麼?如何過濾掉字符串中的所有字母但不是全部特殊字符

這裏是代碼過濾掉的人物:

inputString = inputString.replaceAll("[^\\d.]", ""); 
+2

「有什麼建議嗎?」閱讀入門指南,發佈一個可編譯和運行的簡單程序,並顯示出錯的確切位置。 – 2014-10-29 21:06:00

+0

爲了強化我的觀點,我的老師會說「打印一份清單」,這個行爲通常會重新吸引我的大腦,甚至在閱讀紙質版之前也會經常意識到問題。 – 2014-10-29 21:11:27

+0

我建議不要忽略非數字,而是程序應該只顯示一條錯誤消息,指出在給出不正確的輸入時輸入不是數字。然後,您可以在Integer.valueOf(inputString)周圍使用try/catch塊來捕獲NumberFormatException。 – 2014-10-29 21:15:56

回答

0

嘗試下面的代碼,讓我知道,

inputString = inputString.replaceAll("[^-?0-9]","");

使用的正則表達式是:[^-?0-9]這意味着:

替換除-(減號)或digits以外的任何字符。你不必擔心+符號

+0

工作完美!謝謝! – ShadowWalker50010 2014-10-31 03:47:26

相關問題