0

私はこのようなことをしようとしていますが、うまくいかないようです

String test = input.matches("[^a-zA-Z\\s]");

エラーが発生しますincompatible types

これまたは他の方法を修正する方法はありますか?

編集

これが私が達成しようとしていることです

私はこの文字列を持っているとしましょう

String full = " This i$ an aaasdAr yeEeeAs oofo qwdsgy XY9 ";

そして私は出力を次のようにする必要があります$9

これは機能しますが、少し面倒です

 for (int index = 0; index <= input.length() - 1; index ++)
            {
                if(String.valueOf(input.charAt(index)).matches("[^a-zA-Z\\s]"))
            {

            System.out.print(String.valueOf(input.charAt(index)));
            }
        }
4

2 に答える 2

4

メソッドの matchはブール値を返します代わりにそれを a に割り当てようとしているとString、コンパイル エラーが発生します。

于 2013-01-17T18:02:08.383 に答える
1

String.replaceAll特定の問題を解決するには、正規表現を置き換える を使用できます。

String input = " This i$ an aaasdAr yeEeeAs oofo qwdsgy XY9 ";
String output = input.replaceAll("[a-zA-Z\\s]", "");
System.out.println(output);

これにより、正規表現に一致するすべてが空の文字列に置き換えられ、出力され$9ます。

于 2013-01-17T18:13:49.903 に答える