避雷不可见字符(‘‎‎\u200E‘)

项目中在做一个数据导入的功能。

客户提供的Excel导入进去无法和系统里面的数据匹配导致报错。

看日志发现客户提供的数据多一个'?'但是检查Excel无异常。

检查debug后发现。系统里面的数据为如下:

但是客户提供的为:

 

展开后发现客户那边的多了一个'\u200E' 

注意避坑!!!

在导入的逻辑里面用str.replaceAll('\u200E','')即可

或者在导入的逻辑中用正则判断一下也可以解决

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS开发中删除不可见的Unicode字符可以通过以下步骤实现: 步骤1:获取字符串中的Unicode字符 首先,我们将字符串转换成一个字符数组,然后逐个检查每个字符的Unicode值。可以使用NSString的`characterAtIndex`方法来获取单个字符的Unicode值,如下所示: ```objective-c NSString *str = @"Hello \u200BWorld!"; NSMutableArray *characters = [NSMutableArray array]; for (int i = 0; i < [str length]; i++) { unichar c = [str characterAtIndex:i]; [characters addObject:[NSNumber numberWithUnsignedInt:c]]; } ``` 步骤2:过滤不可见的Unicode字符 然后,根据Unicode字符的范围或特定的Unicode值,将不可见的字符过滤出去。在Unicode表中,0x0000至0x001F范围内的Unicode字符通常是不可见的。 ```objective-c NSMutableArray *visibleCharacters = [NSMutableArray array]; for (NSNumber *unicodeValue in characters) { unichar c = [unicodeValue unsignedIntValue]; if (c >= 0x0020 || (c >= 0x0009 && c <= 0x000D)) { [visibleCharacters addObject:[NSString stringWithCharacters:&c length:1]]; } } ``` 步骤3:生成过滤后的字符串 最后,将过滤后的字符数组重新组合成一个字符串: ```objective-c NSString *filteredString = [visibleCharacters componentsJoinedByString:@""]; ``` 现在,`filteredString`中的不可见的Unicode字符已经被删除了。 注意:上述代码仅演示了删除不可见的Unicode字符的基本思路,具体的实现可能会根据你的需求而有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值