过滤 Excel 表格内容中的无效字符

需求

最近在做一个Excel数据处理工具时发现,总是有些无效字符干扰,比如:不间断空格,制表符等。
所以,记录下遇到的无效字符,以便后续处理时统一过滤。

实现

  1. 获取表格内容,并将格式转换为文本格式:
row.getCell(0);
cell.setCellType(CellType.STRING);
  1. 最简单的过滤,将首尾的空白字符去掉:
cell.getStringCellValue().trim();
  1. 去掉所有空格(半角空格,全角空格,不间断空格):
cell.getStringCellValue().trim()
	.replaceAll("[\\u0020\\u3000\u00A0]" ,"");
  1. 去掉所有空白字符,包括:空格符,制表符,回车符,换行符等:
cell.getStringCellValue().trim()
	.replaceAll("[\\u0020\\u3000\u00A0]" ,"")
	.replaceAll("\\s" ,"");
  1. 至此,可以过滤掉几乎所有的无效字符。以上可以总结为:
cell.getStringCellValue()
	.replaceAll("[\\s\\u3000\u00A0]" ,"");

名词解释

  1. 不间断空格(Non-breaking Space, 简称 nbsp):主要用在office中, 让一个单词词组在结尾处不会换行显示, 快捷键是 ctrl + shift + space。
  2. 制表符:使你输出的内容为4的倍数。如果输出字符串"a\t",那么,会在输出a之后再输出3个空格,如果输出字符串aaaa\t,则会在输出4个a后,再输出四个空格。制表符相当于tab键。
  3. trim() 方法用于删除字符串的头尾空白符。包括空格,换行符和回车符。
  4. 全角空格:它对应的十六进制unicode码是\u3000,相当于两个半角空格的长度。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值