问题描述
前两天在编码过程中,需要将一个接口返回的字符串中的空格去掉,但是当我用下面的方式进行替换时,结果一直替换不成功。这里记录一下解决办法。主要是解决问题的思路。
myString.replaceAll(" ", "").replaceAll("\s*", "")
解决思路
将字符串中的空格字符code point打印出来,
然后可以用 .replaceAll(String.valueOf((char) 160), "") 替换掉这个空格。
这里160是我接口返回的空格的code point
public static void main(String[] args) {
String text = "25.000 ₫"; //接口返回的字符串
System.out.println(text);
for (int i = 0; i < text.length(); i++) {
System.out.println(text.codePointAt(i));
}
System.out.println(text.replaceAll(String.valueOf((char) 160), ""));
}
可以用下面的链接查询code point对应的字符。
https://www.codetable.net/decimal/160
可以看到,我这里接口返回的空格不是一个常规意义上的空格,普通的空格code point是32