美文网首页iOS开发
NSString 那些事

NSString 那些事

作者: 好好姐 | 来源:发表于2014-11-26 14:21 被阅读73次

    1,当键盘为中文输入法时,移除联想时中间的空格字符
    <pre><code>
    正则表达式 \w \s \d \b 2012-09-19 22:21:49
    分类: Python/Ruby

    正则表达式 \w \s \d \b
    . 匹配除换行符以外的任意字符
    \w 匹配字母或数字或下划线或汉字 等价于 '[^A-Za-z0-9_]'。
    \s 匹配任意的空白符
    \d 匹配数字
    \b 匹配单词的开始或结束
    ^ 匹配字符串的开始
    $ 匹配字符串的结束
    \w能不能匹配汉字要视你的操作系统和你的应用环境而定
    </code></pre>

    <pre><code>

    • (NSString *) removeWhitespace
      {
      return [self stringByReplacingOccurrencesOfString:@"\s" withString:@""
      options:NSRegularExpressionSearch
      range:NSMakeRange(0, [self length])];
      }
      </code></pre>

    2,过滤Emoji
    <pre><code>

    • (NSString*)removeEmojiWithInputString :(NSString )str {
      __block NSMutableString
      temp = [NSMutableString string];

      [str enumerateSubstringsInRange: NSMakeRange(0, str.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:
      ^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){

         const unichar hs = [substring characterAtIndex: 0];
         
         // surrogate pair
         if (0xd800 <= hs && hs <= 0xdbff) {
             const unichar ls = [substring characterAtIndex: 1];
             const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
             
             [temp appendString: (0x1d000 <= uc && uc <= 0x1f77f)? @"": substring]; // U+1D000-1F77F
             
             // non surrogate
         } else {
             [temp appendString: (0x2100 <= hs && hs <= 0x26ff)? @"": substring]; // U+2100-26FF
         }
      

      }];

      return temp;
      }
      </code></pre>

    相关文章

      网友评论

        本文标题:NSString 那些事

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