7

x を除くすべての非数値文字を文字列から削除しようとしています。私は少し混乱しています。

私の現在のコード

number.replaceAll("[^\\d\\x]", "")

前もって感謝します。

4

4 に答える 4

20

これを使って:[^x0-9]

http://gskinner.com/RegExr/で確認できます。

于 2012-05-22T18:59:18.760 に答える
7

あなたの正規表現は

number.replaceAll("[^\\dxX]+", "");

文字クラス内の通常の文字をエスケープする必要はありません。改善点は、文字クラスの後に数量詞+を配置することです。これにより、これらの文字のシーケンスが一度に置き換えられ、各文字が単独で置き換えられることはありません。

Xisbに関するいくつかの正規表現の基本を読む:すべてのプログラマーが正規表現について知っておくべきこと

于 2012-05-22T19:59:08.747 に答える
0

You should use this:

number.replaceAll("[\\D&&[^x]]", "")
于 2012-05-22T19:07:19.463 に答える
0

私はそれを理解しましたが、おそらくもっと良い方法があるかもしれません。

number.replaceAll("[^\\d+xX]", "");
于 2012-05-22T19:01:02.767 に答える