java-记录一个excel导入因为NBSP字符导致的bug


问题描述

大概业务逻辑如下;
接收导入的excel数据,里面有个string类型的字段a,再用a去查询外部接口,但是一直报错,业务那边又说excel数据a没有问题

String a
// 接收excel数据逻辑
.......
// 去除空格
a.trim()
// 查询,一直返回false
query(a)

原因分析:

查询日志发现是因为空格导致的,但是已经使用了trim(),把报错的参数粘贴到idea中,找到了问题。

1.11NBSP

java的trim()方法无法去除NBSP字符码(Unicode编码为\u00A0)。

解决方案:

为了去除字符串中的所有空白字符,包括NBSP,使用正则表达式来替换它们。

public String removeAllSpaces(String input) {
    // 正则表达式匹配所有空格字符,包括普通空格和NBSP
    String replaced = input.replaceAll("\\s", "");
    // 如果需要,可以将NBSP替换为空字符串(如果不需要移除NBSP,则不需要此步骤)
    replaced = replaced.replace(String.valueOf((char) 160), "");
    return replaced;
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值