Object-c中比较两个字符串是否相等时,应该用isEqualToString:而不能仅仅只是比较字符串的指针值。

NSString *str1=@"hello 1"
NSString *str2; 
str2=[NSString stringWithFormat:@"hello %d", 1]; 
if ([thing1 isEqualToString:thing2]){ 
   NSLog(@"They are the same!"

这是比较内容

if (str1==str2){ 
   NSLog(@"They are the same!"
}

这是比较指针地址

这是因为==运算符只判断str1和str2的指针数值,而不是他们所指的对象。由于str1,str2是不同的字符串,所以第二种比较方式会认为它们是不同的。
有时我们想检查两个对象的标识:str1和str2是同一个对象吗?这时就应该使用运算符==。如果是想查看等价性(即这两个字符串是否代表同一个事物吗),那么请使用isEqualToString:

本文固定链接: http://www.istar.name/blog/ios-development-isequaltostring | Star's Blog

iOS开发之字符串比较的更多相关文章

  1. iOS开发JSON字符串和字典互转

    1.相关属性简述 NSJSONReadingOptions读取属性: typedef NS_OPTIONS(NSUInteger, NSJSONReadingOptions) { NSJSONRead ...

  2. iOS开发——常用字符串string相关方法和处理

    (持续更新中……) 1,四舍五入 2,剔除字符 3,拼接字符 4,字符个数和长度 5,字符串的比较 6,字符串的范围 7,字符串转Number类型

  3. ios开发中字符串的常用功能总结

    1.分割字符串 NSString * str1 = @"123/456"; NSArray * arr1 = [str1 componentsSeparatedByString:@ ...

  4. ---iOS开发 截取字符串中两个指定字符串中间的字符串---

    例如,要截取一个字符串中,两个指定字符串中间的字符串,OC截取方法如下: // 要截取 "> 和 </ 之间的汉字内容: @implementationViewControlle ...

  5. iOS开发 判断字符串是不是网址

    - (BOOL)isUrlString { NSString *emailRegex = @"[a-zA-z]+://.*"; NSPredicate *emailTest = [ ...

  6. iOS开发 判断字符串是不是表情

    + (BOOL)stringContainsEmoji:(NSString *)string { __block BOOL returnValue = NO; [string enumerateSub ...

  7. iOS开发 返回字符串的宽高

    - (CGFloat)achiveWidthWithHeight:(CGFloat)height Font:(UIFont *)font { CGSize size = [self boundingR ...

  8. iOS开发之-- 字符串的操作,去掉某一个字符或者替换成其他字符

    一个简单的操作,记录下: NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withS ...

  9. ios开发之--字符串局部改变颜色

    改变指定位置字符的颜色,代码如下: NSString *descStr = @"楼主"; NSString *nickStr = [NSString stringWithForma ...

随机推荐

  1. ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 J: 外币兑换

    http://acm.ocrosoft.com/problem.php?cid=1316&pid=9 题目描述 小明刚从美国回来,发现手上还有一些未用完的美金,于是想去银行兑换成人民币.可是听 ...

  2. vmware中linux虚拟机使用NAT模式不能连接外网解决

    linux虚拟机一直配置的桥接模式,今天改成NAT模式发现不能上外网 环境:VMware12,CentOS 6.8,NAT模式 ①电脑实际ip:192.168.1.100 ②NAT使用虚拟网卡网关: ...

  3. Android M中 JNI的入门学习

    今年谷歌推出了Android 6.0,作为安卓开发人员,对其学习掌握肯定是必不可少的,今天小编和大家分享的就是Android 6.0中的 JNI相关知识,这是在一个安卓教程网上看到的内容,感觉很不错, ...

  4. JavaScript—获取本地时间以12小时制显示

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. AtCoder Regular Contest 093 E: Bichrome Spanning Tree(生成树)

    Bichrome Spanning Tree 题意: 给出一个n个点,m条边的无向连通图,现在要给每条边染色,可以染成黑色或者白色. 现在要求在染色完毕后,找出一个至少包含一条黑边和一条白边的最小生成 ...

  6. Django model 字段类型清单

    Django model字段类型清单 Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField 一个自动递增的整型字 ...

  7. Codevs 2080 特殊的质数肋骨

      题目描述 Description 农民约翰的母牛总是产生最好的肋骨. 你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们. 农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋 ...

  8. [ CodeVS冲杯之路 ] P1154

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1154/ 由于所有珠子连成一个环,所以要进行预处理,直接将整个值往后复制 n 位,即 a[i+n]=a[i] 设 f[i ...

  9. [ CodeVS冲杯之路 ] P1576

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1576/ 这和上一道题十分的类似,所以直接秒杀 ( 上一题:http://www.cnblogs.com/hadilo/ ...

  10. SqliteDeveloper 破解

    方法1: 注册表删除 HKEY_CURRENT_USER\SharpPlus\SqliteDev 下的 StartDate 方法2:  安装完成SQLite Developer后,先不要打开软件,下面 ...