Java从字符串中删除除x以外的非数字字符
我正在尝试从字符串中删除除x以外的所有非数字字符。我有点困惑 我当前的代码Java从字符串中删除除x以外的非数字字符,java,regex,Java,Regex,我正在尝试从字符串中删除除x以外的所有非数字字符。我有点困惑 我当前的代码 number.replaceAll("[^\\d\\x]", "") 提前谢谢 使用这个:[^x0-9] 你可以在上查看,我想出来了,也许有更好的方法 number.replaceAll("[^\\d+xX]", ""); 您应该使用以下选项: number.replaceAll("[\\D&&[^x]]", "") 你的正则表达式是 number.replaceAll("[^\\dxX]+", "
number.replaceAll("[^\\d\\x]", "")
提前谢谢 使用这个:
[^x0-9]
你可以在上查看,我想出来了,也许有更好的方法
number.replaceAll("[^\\d+xX]", "");
您应该使用以下选项:
number.replaceAll("[\\D&&[^x]]", "")
你的正则表达式是
number.replaceAll("[^\\dxX]+", "");
无需转义字符类中的普通字符。还有一个改进是在字符类后面加上量词+
,这样可以立即替换这些字符的序列,而不是单独替换每个字符
阅读一些关于Xisb的正则表达式基础知识:我忘了指定大写字母x,这样可以吗[^xX0-9]?谢谢努兰。@George-为什么要用加号?这不会导致多余的被跳过吗?你的正则表达式的所有错误就是你不必要地逃避了x。