NSString 那些事

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>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 不知不觉,岁寒输入法的更新历史已经可以列出这么一长串来了。从中可以看出,岁寒的发展过程也是一个不断试错的过程,其中...
    临岁之寒阅读 34,224评论 1 6
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,860评论 25 709
  • 记得儿时 常会做一个奇怪的梦 在梦里 我置身于一个多彩的世界里 有红色,有蓝色,有紫色,有黑色 红色在跳跃 蓝色在...
    忧郁的行者阅读 196评论 0 0
  • 那一天,重复了请问、争吵、安抚与沉默,你发现一切仍于事无补。你躲开他凝视的双眼,你不忍握住他无助的双手,你不知所措...
    塔木_阅读 177评论 0 0