删除字符串中的所有内容,除了。通过0-9和数字-Java
我试着读一行文字,从0-9中删除除句点和数字以外的所有内容 这是我正在尝试的,但它删除了除空格以外的所有内容删除字符串中的所有内容,除了。通过0-9和数字-Java,java,regex,numbers,replaceall,Java,Regex,Numbers,Replaceall,我试着读一行文字,从0-9中删除除句点和数字以外的所有内容 这是我正在尝试的,但它删除了除空格以外的所有内容 distance.replaceAll("[^0-9 + \\.]", ""); 文本是(转义是\\而不是一个\),您可以对数字使用\\d。像 String distance = "123zz.0"; System.out.println(distance.replaceAll("[^\\d.]", "")); 产出(按要求) 当在character类中时,是否需要对其进行转义?我尝
distance.replaceAll("[^0-9 + \\.]", "");
文本
是
(转义是\\
而不是一个\
),您可以对数字使用\\d
。像
String distance = "123zz.0";
System.out.println(distance.replaceAll("[^\\d.]", ""));
产出(按要求)
当
在character类中时,是否需要对其进行转义?我尝试不使用,效果很好。
不是字符类中的特殊字符。通过在character类之后添加+
,您可以获得非常小的性能提升。另外,由于您仍然有character类,\\d
并不比0-9
好,因为它们都是3个字符长。“好吧,我现在不再挑剔了。”安东说得对。OP在原件中有\.
。这让我很吃惊。你也可以用相反的方式来处理它,而不是移除,取而代之的是你想要的,并在结果上称之为连接。我不确定这在java中是如何工作的,但在javascript中应该是“123.xx.sdfk234.match(/(\d|\)++/g).join(“”)
,我也不确定,但答案很好。感谢所有帮助过你的人。
123.0