Java从字符串中删除非数字字符,但x除外

时间:2012-05-22 18:53:30

标签: java regex

我正在尝试从字符串中删除除x之外的所有非数字字符。我有点困惑。

我当前的代码

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

提前致谢。

4 个答案:

答案 0 :(得分:20)

使用此:[^x0-9]

您可以在http://gskinner.com/RegExr/

上查看

答案 1 :(得分:7)

你的正则表达式是

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

无需转义字符类中的普通字符。一个改进也是在字符类之后有量词+,这样那些字符的序列一次被替换而不是每个字符都被替换。

阅读 Xisb上的一些正则表达式基础知识What absolutely every Programmer should know about regular expressions

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

你应该用这个:

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