美文网首页
OC 中定位特殊字符

OC 中定位特殊字符

作者: 苹果农 | 来源:发表于2022-01-04 10:20 被阅读0次

今天遇到一个问题,连续输入检索,输入中文的时候,系统会返回一个带空格的字符串,然后马上又去除。这样会造成连续检索,导致中间搜索到空白,有空白页的闪屏。

如:用户输入 Url, 通过textfield delegate 回调,的是:
U
U r
Ur
U r l
Url
经过百度,发现这个空格并不是普通的空格。

解决办法:

  1. 定位字符串
NSData * u = [text dataUsingEncoding:NSUTF8StringEncoding];
NSString *hex = [u description];

发现当返回U r 的时候, hex 显示的是:0x55e2808672
返回 Ur, hex 显示的是 0x5572
所以,可以定位这个空格的编码为 e28086
所以,去除办法就是:

- (NSString *)cleanChineseSpace
{
  char space[] = {0xe2, 0x80, 0x86};
  NSData *data = [NSData dataWithBytes:space length:3];
  NSString *strSpace = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  NSString *ret = [self stringByReplacingOccurrencesOfString:strSpace withString:@""];
  return ret;
}

相关文章

  • OC 中定位特殊字符

    今天遇到一个问题,连续输入检索,输入中文的时候,系统会返回一个带空格的字符串,然后马上又去除。这样会造成连续检索,...

  • iOS入门小知识-NSString+NSMutableStrin

    OC中的字符串 OC⾥有两种字符串:OC字符串和C字符串,在没有特殊说明的情况下,提到字符串,都是OC字符串,如果...

  • iOS swift-字符串

    OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC...

  • Swift第二课

    一.字符串 在OC中字符串类型是NSString,在swift中字符串类型是String OC中字符串@"",sw...

  • Swift 6、字符串的使用

    1、 OC中字符串NSString,在swift中字符串是String 2、 OC中@"",在swift中"" 使...

  • Swift入门----06字符串&字典&数组

    字符串 在 OC 中定义字符串用 @“”,Swift 中用 “” 注意:OC 中的字符串是 NSString,Sw...

  • Swift 3.x(字符串,数组,字典,元组,可选类型)

    Swift 字符串介绍 OC和Swift中字符串的区别 OC中字符串类型是NSString ,在Swift...

  • Swift字符串

    字符串简介在OC中定义字符串 @"". Swift中用""(注意点:OC中的字符串是NSString,Swift...

  • iOS,OC过滤字符串中的特殊字符

    遇到一个需求需要过滤用户通讯录中的特殊字符串,研究了一下iOS的特殊字符串过滤方法。首先定义一个NSCharact...

  • Swift--字符串--02

    字符串基础 字符串在OC与Swift中的区别:在OC中字符串类型是NNString,在Swift中字符串类型是St...

网友评论

      本文标题:OC 中定位特殊字符

      本文链接:https://www.haomeiwen.com/subject/jlrqcrtx.html