#创作灵感#
记录工作实践、项目复盘
写技术笔记巩固知识要点

这里的空格可能是:中英文不同状态下的全角、半角中空格的区别

业务中在使用导入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);
}

如有不对的地方,请大家指出了,感谢

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐