Java 带NumberFormat的字符串格式
我正在使用NumberFormat实例格式化我在JTextField中输入的字符串,而不指定位置。因此,我有一个字符串,它表示一个以空格作为分隔符的数字。当我想将字符串用于其他进程时,我有一个问题,就是如何去掉空白。我尝试了Java 带NumberFormat的字符串格式,java,regex,string,Java,Regex,String,我正在使用NumberFormat实例格式化我在JTextField中输入的字符串,而不指定位置。因此,我有一个字符串,它表示一个以空格作为分隔符的数字。当我想将字符串用于其他进程时,我有一个问题,就是如何去掉空白。我尝试了string.replaceAll(“,”)和string.replaceAll(“\\s”和“)但没有一个有效 String string = ((JTextField)c).getText(); string = string.replaceAll("\\s", "");
string.replaceAll(“,”)代码>和string.replaceAll(“\\s”和“)代码>但没有一个有效
String string = ((JTextField)c).getText();
string = string.replaceAll("\\s", "");
还有当我做intindex=string.indexOf(“”)时代码>或int index=string.indexOf(“\\s”)代码>它返回-1,这意味着它找不到字符。
当我这样做的时候
for(Character ch : string.toCharArray()) {
System.out.println("ch : " + ch.isSpaceChar(ch))
}
对于空字符,它返回true。在java中如何表示空间字符
我也试过了
StringBuilder b = new StringBuilder(((JTextField)c).getText());
String string = b.toString.replaceAll("\\s", "");
System.out.println("string : " + string);
它不能代替任何东西。您是否尝试过string=string.replaceAll(“,”)代码>?-字符串是不可变的
String string = "89774lf&933 k880990";
string = string.replaceAll( "[^\\d]", "" );
System.out.println(string);
输出:
89774933880990
它将消除除数字以外的所有字符
请发布代码的一小部分,说明您的问题。您是否将原始字符串设置为正在调用的replaceAll函数的返回值?然后,您是否要使用replaceAll函数中的新值更新正在使用该值的内容?在代码中更新请尝试另一个并检查它是否正常工作。感谢您提供的代码,但我想了解replaceAll方法不工作的原因,然后修复它,而不是自己进行语法分析。我们不使用此代码。。只要尝试一下,若你们以这种方式得到异常,可能会有一些其他字符,而不是spaceIt的作品,我并没有一个NumberFormatException。但是我不能使用这个方法。你只是在替换空格,它不起作用,但是这个代码起作用了,这意味着除了空格之外还有一些字符。因此,请尝试比较输出。