今天做一个导入数据功能时发现一个问题,就是一个unicode为12288的字符显示为空格,但是用java trim()函数无法去除。测试代码如下
public class TstSeven {
public static void main(String[] args) {
String str = " ";
printStrAscii(str);
char space = 12288;
String strTwo = "" + space;
printStrAscii(strTwo);
str = str.trim();
strTwo = strTwo.trim();
System.out.println(str.length());
System.out.println(strTwo.length());
}
private static void printStrAscii(String str) {
System.out.print(str + " : ");
for(int i=0; i<str.length(); i++) {
System.out.print((int)str.charAt(i));
}
System.out.println();
}
}
经过查阅unicode为12288字符为全角空格,trim()无法去除,去除方法如下:
str = str.replace((char) 12288, ' ');
str=str.trim();
数据导入的时候估计会常遇到,以此为记。