2013-10-04 63 views
0

我有以下形式實例的字符串 - :如何從java中的字符串中過濾出數字?

String str = "The game received average review scores of 96.92% and 98/100 for the Xbox 360 version"; 

,我想輸出如下 - :

Output = "The game received average review scores of % and/for the Xbox version" 

,我希望能夠過濾掉任何數量的存在在字符串中是否其小數或浮點數,我試圖用這樣類似這樣的暴力方式 - :

String str = "The game received average review scores of 96.92% and 98/100 for the Xbox 360 version"; 

String newStr = ""; 

for(int i = 0 ; i < str.length() ; ++i){ 
if(!Character.isDigit(str.charAt(i))) 
    newStr += str.charAt(i); 
} 

System.out.println(newStr); 

但這並不解決purpos對我而言,如何解決這個問題?

+0

你可能看看[這個答案](http://stackoverflow.com/a/19169192/1578604)這基本上是你正在尋找的相反。隨着一些調整,你可以使用它。 – Jerry

回答

1

你或許可以用這樣的:

str.replaceAll("\\d+(?:[.,]\\d+)*\\s*", ""); 
2

您可以使用下面String#replaceAll通話用一個空字符串替換所有數字(後跟0或多個空格):

str.replaceAll("\\d+(,\\d+)*(?:\\.\\d+)?\\s*", ""); 
+0

這不適用於這種類型的字符串:「App Store提供了超過775,000個蘋果和第三方的應用程序。」它在 – AnkitSablok

+0

之間留下了一個「,」你的例子還在字符串中留下了'%'和'/'。 – anubhava

+0

現在檢查編輯的答案。 – anubhava