美文网首页iOS基础学习
Objective-C基础学习之字符串比较

Objective-C基础学习之字符串比较

作者: WenJim | 来源:发表于2017-10-23 01:53 被阅读10次

    1.NSString大小写处理

    • 全部字符转为大写字母

      • -(NSString *)uppercaseString;
    • 全部字符转为小写字母

      • -(NSString *)lowercaseString
    • 首字母变大写,其他字母都变小写

      • -(NSString *)capitalizedString

    2.NSString比较

    • -(BOOL)isEqualToString:(NSString *)aString;

      • 两个字符串的内容相同就返回YES, 否则返回NO
        NSString *str1 = @"cwj";
        NSString *str2 = [NSString stringWithFormat:@"cwj"];
        if ([str1 isEqualToString:str2]) {
            NSLog(@"字符串内容一样");
        }
    
        if (str1 == str2) {
            NSLog(@"字符串地址一样");
        }
    
    • -(NSComparisonResult)compare:(NSString *)string;

      • 这个方法可以用来比较两个字符串内容的大小

      • 比较方法: 逐个字符地进行比较ASCII值,返回 NSComparisonResult作为比较结果

      • NSComparisonResult是一个枚举,有3个值:

        • 如果左侧 > 右侧,返回NSOrderedDescending,
        • 如果左侧 < 右侧,返回NSOrderedAscending,
        • 如果左侧 == 右侧返回NSOrderedSame
        NSString *str1 = @"abc";
        NSString *str2 = @"abd";
        switch ([str1 compare:str2]) {
            case NSOrderedAscending:
                NSLog(@"后面一个字符串大于前面一个");
                break;
            case NSOrderedDescending:
                NSLog(@"后面一个字符串小于前面一个");
                break;
            case NSOrderedSame:
                NSLog(@"两个字符串一样");
                break;
        }
        输出结果: 后面一个字符串大于前面一个
    
    • -(NSComparisonResult) caseInsensitiveCompare:(NSString *)string;

      • 忽略大小写进行比较,返回值与compare:一致
        NSString *str1 = @"abc";
        NSString *str2 = @"ABC";
        switch ([str1 caseInsensitiveCompare:str2]) {
            case NSOrderedAscending:
                NSLog(@"后面一个字符串大于前面一个");
                break;
            case NSOrderedDescending:
                NSLog(@"后面一个字符串小于前面一个");
                break;
            case NSOrderedSame:
                NSLog(@"两个字符串一样");
                break;
        }
        输出结果:两个字符串一样
    

    相关文章

      网友评论

        本文标题:Objective-C基础学习之字符串比较

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