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