我有一个以下形式的字符串 - 例如:
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);
但这不能解决我的目的,如何解决这个问题?
答案 0 :(得分:2)
您可以使用以下String#replaceAll
调用以空字符串替换所有数字(后跟0或更多空格):
str.replaceAll("\\d+(,\\d+)*(?:\\.\\d+)?\\s*", "");
答案 1 :(得分:1)
您可以使用以下内容:
str.replaceAll("\\d+(?:[.,]\\d+)*\\s*", "");