String trim 坑 对于ascii码为160的去不掉

时间:2023-03-09 20:42:13
String trim 坑 对于ascii码为160的去不掉

大家在使用string   的trim去除空格的时候,要注意一个坑呀,对于ascii码为160的去不掉

import java.util.Arrays;

/**
* Created by bjchengpeng on 2018/7/24.
*/
public class TrimTest {
public static void main(String[] args) { String str = "6216910307514221 333"; String[] array = str.split("\\s+");
System.out.println(Arrays.toString(array));
System.out.println(array.length); String str1 = str.replaceAll("[\\s\\u00A0]+", " ");
String[] array1 = str1.split("\\s+");
System.out.println(array1.length);
System.out.println(Arrays.toString(array1)); final char c1 = ' '; //db里的空格
final char c2 = ' '; //手动输入的空格
System.out.println((int) c1); //160
System.out.println((int) c2); //32
}
}

  

// 需要将ASCII为160的空格转成普通的空格
str = str.replaceAll("[\\s\\u00A0]+", " ");

参考 1 http://www.songshuiyang.site/2018/01/09/Web%E5%90%8E%E5%8F%B0/Java/ASCII%20160%20%E7%A9%BA%E6%A0%BC/

参考 2  http://love67.net/2017/04/07/trim-nbsp

参考 3 http://wwwcomy.iteye.com/blog/2247365