我正在使用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);
它不会取代任何东西。
答案 0 :(得分:5)
你试过string = string.replaceAll(" ", "");
吗? - 字符串是不可变的。
答案 1 :(得分:0)
String string = "89774lf&933 k880990";
string = string.replaceAll( "[^\\d]", "" );
System.out.println(string);
输出:
89774933880990
它将消除char
以外的所有digits
。