如何从java中的字符串中过滤掉数字?

时间:2013-10-04 20:46:01

标签: java regex string

我有一个以下形式的字符串 - 例如:

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);

但这不能解决我的目的,如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以使用以下String#replaceAll调用以空字符串替换所有数字(后跟0或更多空格):

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

答案 1 :(得分:1)

您可以使用以下内容:

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