Unicode的学名是”Universal Multiple-Octet Coded Character Set”,简称为UCS
不可见字符”/u200b”为 Unicode Character ‘ZERO WIDTH SPACE’ (U+200B),可用于内容标识,不占位数。
从Excel中复制过来的数据,在复制的时候复制了多余的东西。于是试了手写是正常,windows有些版本的Excel复制过来就有问题。本地一调试发现,果不其然,正常手写的手机号是11位,但是复制过来的确是多了一个东西,长度变为了12位,多了个'\u202D',问题找到了。
处理方法如下:
package com.yitao.cms.utils;
import org.apache.commons.lang.StringUtils;
/**
* @Author: wwl
* @Date: 2020/4/9 16:36
* @Description:字符处理工具类
*/
public class StringDealUtils {
/**
* 处理特殊字符问题
*
* @param phone
* @return
*/
public static String dealBlankString(String phone) {
if (StringUtils.isNotBlank(phone)) {
phone = removeNonAscii(phone);
phone = removeSomeControlChar(phone);
phone = removeFullControlChar(phone).trim();
return phone;