我有一个使用NumberFormat实例格式化的字符串.当我显示字符串的字符时,我有一个不间断的空格(hexa代码:A0和unicode 160).如何从字符串中删除此字符.我试过string = string.replaceAll("\u0160", "");和string = string.replaceAll("0xA0", ""),两人都没有工作.
String string = ((JTextField)c)getText();
string = string.replace("\u0160", "");
System.out.println("string : " string);
for(int i = 0; i < string.length; i++) {
System.out.print("char : " + string.charAt(i));
System.out.printf("Decimal value %d", (int)string.charAt(i));
System.out.println("Code point : " + Character.codePointAt(string, i));
}
Run Code Online (Sandbox Code Playgroud)
输出仍包含十进制值160和代码点160的空白区域.
我想知道如何使用java.util.loggingapi,以便根据使用的级别将日志消息写入不同的日志文件中.如果级别是INFO,那么我希望将消息写在/log/info.log中,依此类推.3个定义的级别是严重的,警告和信息.
我正在使用NumberFormat实例格式化我在JTextField中输入的字符串,而不指定位置.因此,我有一个String,表示一个用空格作为分隔符格式的数字.当我想将String用于其他进程时,我有一个问题是摆脱空格.我尝试过string.replaceAll(" ", "");,string.replaceAll("\\s", "");但没有一个有效.
String string = ((JTextField)c).getText();
string = string.replaceAll("\\s", "");
Run Code Online (Sandbox Code Playgroud)
此外,当我这样做int index = string.indexOf(" ");或int index = string.indexOf("\\s");它返回-1,这意味着它没有找到该字符.当我做
for(Character ch : string.toCharArray()) {
System.out.println("ch : " + ch.isSpaceChar(ch))
}
Run Code Online (Sandbox Code Playgroud)
它为空char返回true.如何在java中表示空格char?
我也试过了
StringBuilder b = new StringBuilder(((JTextField)c).getText());
String string = b.toString.replaceAll("\\s", "");
System.out.println("string : " + string);
Run Code Online (Sandbox Code Playgroud)
它不会取代任何东西.