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

我想通了,也许有更好的方法来做到这一点。

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

你应该使用这个:

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