0

たとえば、次の形式の文字列があります-:

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"

そして、10進数であろうと浮動小数点数であろうと、文字列に含まれる任意の数値を除外できるようにしたいので、次のように力ずくの方法でこれを実行しようとしました-:

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

しかし、これは私の目的を解決しません。この問題を解決するにはどうすればよいですか?

4

2 に答える 2

2

次のString#replaceAll呼び出しを使用して、すべての数字 (その後に 0 個以上のスペースが続く) を空の文字列に置き換えることができます。

str.replaceAll("\\d+(,\\d+)*(?:\\.\\d+)?\\s*", "");
于 2013-10-04T20:47:25.793 に答える
1

おそらく次のようなものを使用できます。

str.replaceAll("\\d+(?:[.,]\\d+)*\\s*", "");
于 2013-10-04T20:52:32.187 に答える