当mysql数据当中存在空格时,其空格ASCII码值是160
代码层面无法被trim()所裁剪,也无法被正则表达式的\s所匹配,也无法被StringUtils的isBlank()所识别,那该如何解决?
解决办法如下:
replace(“\u00A0”, “”)
replaceAll(“\u00A0+”, “”) //这是正则表达式的写法
String str = “aacsdfe “; //包含了不间断空格的字符串
str = str.replace(”\u00A0”, “”);
str = str.replaceAll(“\u00A0+”, “”);
数据库层面解决
替换函数:replace()
语法:
REPLACE (需要替换的字段 , 替换前的值, 替换后的值)
例子:
//注意第二个参数的空字符串,必须是复制\u00A0粘贴上去
UPDATElading_order
SET cabi_code = REPLACE (cabi_code ,’ ‘,’')
WHERE id in (SELECT * FROM (SELECT l1.id FROMlading_order
as l1
WHERE l1.cabi_code LIKE " %") as tempName)