#创作灵感#
记录工作实践、项目复盘
写技术笔记巩固知识要点
这里的空格可能是:中英文不同状态下的全角、半角中空格的区别
业务中在使用导入excel表格时,在表格中存在了空格或空白字符。导致使用replace替换空格时,只是简单的将英文状态下空格替换了,并没有注意到中英文不同状态下的全角、半角中空格的区别,具体可以自行去操作以下看,然后将空格粘贴到java中。
解决方案:使用正则匹配的方式替换掉全半角状态下的”空格符“
// 换行\n,制表符\t,回车符\r,换页符\f,空格、
// 字符串s中包含了中英文下的全半角的空格;具体操作可以自己切换输入法试试
public static void main(String[] args) {
// 中英文全半角符
String s ="N 2 0 24 01" +
"\n" +
"\t"+
"\r" +
"\f" +
"02 16 23 ";
System.out.println("s = " + s);
// 这两种方式的结构都是一样的
String s1 = s.replaceAll("[\\u3000-\\u303F\\s\\u00A0]", "");//s1 = N202401021623
// String s1 = s.replaceAll("[\\u3000\\u202F\\s\\u00A0]", "");//s1 = N202401021623
System.out.println("s1 = " + s1);
}
如有不对的地方,请大家指出了,感谢