字符串比较和相等判断

判断字符串是否相等

  1. 首先不能用== 来判断,因为==判断的存储在这个字符串的对象的值,这样很容易出错,那么我们用isEqualToString来进行判断
int main(int argc, const char * argv[])
{

    NSString *str = @"jack";
    NSString *str1 = [NSString stringWithFormat:@"jack"];
   BOOL res =  [str isEqualToString:str1];
    if (res == YES)
    {
        NSLog(@"相等");
    }
    else
    {
        NSLog(@"不相等");
    }

    return 0;
}

字符串大小的比较

 NSString *str = @"jack";
    NSString *str1 = @"yack";

    NSComparisonResult res =   [str compare:str1];
    if (res == NSOrderedAscending )
    {
        NSLog(@"第2个大");
    }else if (res == NSOrderedDescending)
    {
        NSLog(@"第1个大");
    }else
    {
        NSLog(@"相等");
    }
  1. 若觉得这些参数不好记,可以用int来接受
   NSString *str1 = @"jack";
    NSString *str2 = @"jack";
   int res =  [str1 compare:str2];
    switch (res)
    {
        case -1:
            NSLog(@"小于。。。");
            break;
        case 0:
            NSLog(@"等于。。。");
            break;
        case 1:
            NSLog(@"大于。。。");
            break;
    }

  1. 看一下忽略大小写的判断
  NSString *str = @"jack";
    NSString *str1 = @"JAck";
   int res =  [str compare:str1 options:NSCaseInsensitiveSearch];
    if (res > 0)
    {
        NSLog(@"第一个大");
    }else if(res == 0)
    {
        NSLog(@"相等");
    }else
    {
        NSLog(@"第二个大");
    }

后面的参数NSCaseInsensitiveSearch就是忽略大小写的判断


完全匹配 :NSLiteralSearch

    NSString *str1 = @"jack";
    NSString *str2 = @"Jack";
  int res =  [str1 compare:str2 options:NSLiteralSearch];
    if (res > 0)
    {
        NSLog(@"第一个大");
    }else if(res == 0)
    {
        NSLog(@"相等");
    }else
    {
        NSLog(@"第二个大");
    }

相同格式下,字符串中数字的大小判断

    NSString *str1 = @"jpg003";
    NSString *str2 = @"jpg005";
   int res =  [str1 compare:str2 options:NSNumericSearch];
    if (res > 0)
    {
        NSLog(@"第一个大");
    }else if(res == 0)
    {
        NSLog(@"相等");
    }else
    {
        NSLog(@"第二个大");
    }

这些都是比较常用的

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值