美文网首页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