x を除くすべての非数値文字を文字列から削除しようとしています。私は少し混乱しています。
私の現在のコード
number.replaceAll("[^\\d\\x]", "")
前もって感謝します。
これを使って:[^x0-9]
http://gskinner.com/RegExr/で確認できます。
あなたの正規表現は
number.replaceAll("[^\\dxX]+", "");
文字クラス内の通常の文字をエスケープする必要はありません。改善点は、文字クラスの後に数量詞+
を配置することです。これにより、これらの文字のシーケンスが一度に置き換えられ、各文字が単独で置き換えられることはありません。
Xisbに関するいくつかの正規表現の基本を読む:すべてのプログラマーが正規表現について知っておくべきこと
You should use this:
number.replaceAll("[\\D&&[^x]]", "")
私はそれを理解しましたが、おそらくもっと良い方法があるかもしれません。
number.replaceAll("[^\\d+xX]", "");