System.out.println("S19 18.7 E148 18.8".replaceAll(" ", ""));
如果这段代码,输出结果并不是“S1918.7E14818.8”,还是原来的字符串,这是为什么呢?
让我们来测试一下:
System.out.println("S19 18.7 E148 18.8".codePointAt(3));
输入的结果是:160
并不是平时常见的32(空格的ASCII值)。
其实这个160一般用于网页上的 这种空格,那如何去除呢?
方法就是:
System.out.println("S19 18.7 E148 18.8".replaceAll("[\\s\\u00A0]", ""));
这里面的\u00A0就是用于去除160这种空格的,而\s是用于去除普通空格。
Good luck.