NumberFormat的字符串格式

时间:2011-12-13 16:35:58

标签: java regex string

我正在使用NumberFormat实例格式化我在JTextField中输入的字符串,而不指定位置。因此,我有一个String,表示一个用空格作为分隔符格式的数字。当我想将String用于其他进程时,我有一个问题是摆脱空格。我尝试了string.replaceAll(" ", "");string.replaceAll("\\s", "");,但都没有效果。

String string = ((JTextField)c).getText();
string = string.replaceAll("\\s", "");

当我执行int index = string.indexOf(" ");int index = string.indexOf("\\s");时,它返回-1,这意味着它找不到该字符。 当我做的时候

for(Character ch : string.toCharArray()) {
System.out.println("ch : " + ch.isSpaceChar(ch))
}

对于空char,它返回true。如何在java中表示空格char?

我也尝试了

StringBuilder b = new StringBuilder(((JTextField)c).getText());
String string = b.toString.replaceAll("\\s", "");
System.out.println("string : " + string);

它不会取代任何东西。

2 个答案:

答案 0 :(得分:5)

你试过string = string.replaceAll(" ", "");吗? - 字符串是不可变的。

答案 1 :(得分:0)

String string = "89774lf&933 k880990";

string = string.replaceAll( "[^\\d]", "" );

System.out.println(string);

输出:

89774933880990

它将消除char以外的所有digits