美文网首页
NSString相关知识点

NSString相关知识点

作者: iOSCoder | 来源:发表于2018-05-18 14:13 被阅读10次

一、NSString获取字符串中的最后一个字符以及操作

获取到最后一个字符

    NSString *lastString = [cityString substringFromIndex:cityString.length-1];

去除最后一个字符

cityString = [cityString substringToIndex:[cityString length]-1];

二、昵称隐藏中间字符串

评论列表中隐藏用户的真实昵称,中间字符以*代表

/**
 评论列表中隐藏用户的真实昵称,中间字符以*代表
 */
- (void)setHiddenNickName {
    
    NSString *string = self.text;
    NSInteger length = [string length];
    if (length <= 2) {
        return;
    }else {
        
        NSString *first = [string substringToIndex:1];//首字符
        NSString *last = [string substringFromIndex:length-1];//尾字符
        
        NSString *secondStr = [string substringToIndex:2];
        NSString *lastSecond = [string substringFromIndex:length-2];//尾字符

        BOOL firstBool = [self isContains4byteChar:secondStr];
        BOOL lastBool = [self isContains4byteChar:lastSecond];
        
        NSString *finiaFirstChar = first;
        NSString *finiaLastChar = last;
        if ((firstBool || lastBool) && (length == 3)) {
            
            return;
        }else if (firstBool && lastBool && (length == 4)) {
            return;
        }else {
            
            if (firstBool) {
                finiaFirstChar = secondStr;
            }
            if (lastBool) {
                finiaLastChar = lastSecond;
            }
        }
        self.text = [NSString stringWithFormat:@"%@**%@",finiaFirstChar,finiaLastChar];
        
    }
}

判断字符串中是否包含表情

/**
 * @brief 校验表情符号
 *
 * @param string 校验字符串
 *
 * @return 是否含有表情符号
 */
- (BOOL)isContains4byteChar:(NSString *)string
{
    __block BOOL is4Byte = NO;
    [string enumerateSubstringsInRange:NSMakeRange(0, [string length])
                               options:NSStringEnumerationByComposedCharacterSequences
                            usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
                                if ([substring lengthOfBytesUsingEncoding:NSUTF8StringEncoding] >= 4) {
                                    is4Byte = YES;
                                    *stop = YES;
                                }
                            }];
    return is4Byte;
}

相关文章

  • NSString相关知识点

    一、NSString获取字符串中的最后一个字符以及操作 获取到最后一个字符 去除最后一个字符 二、昵称隐藏中间字符...

  • NSString相关

    1.NSString如何计算字符串长度 文档中很明确的表示了 其实 NSString 是个UTF-16的数组。他的...

  • NSString相关

    目录[-]1.常用功能使用1)初始化2)截取3)分解4)查找5)替换6)路径相关7)字符串是否为空8)字符串比较9...

  • AFNetworking解析

    知识点 NSString * const跟static NSString * const有啥区别。 dispatc...

  • NSString相关使用

    字符串的创建 通过不同的方式创建字符串,字符串对象存储的位置也不一样如果通过字符串常量创建,那么字符串对象存储在常...

  • NSString相关处理

    --实例化方法-------------- NSString *str = [[NSString alloc] i...

  • oc NSString相关

    标签:ios开发入门

  • iOS - 数据类型转换

    NSString 转 NSData NSData 转 NSString Struct转NSData 时间转换相关 ...

  • iOS开发陷阱之NSString -compare

    iOS开发陷阱之NSString - compare NSString有多个compare相关方法: -(NSCo...

  • OC 中 NSString 以及和 NSMutableStrin

    Objective-C中的 NSString 是基础中的基础,现在总结一下 NSString 的知识点,以及和 N...

网友评论

      本文标题:NSString相关知识点

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