Objective-C NSString和NSMutableString

在Foundation框架中,提供了NNString类,用于处理字符串对象。学过其他语言比如java的同学都知道java里面有string。其实就是一个道理。

OC语言的字符串必须以@开头,引号当中则是字符串的内容,如@”abc“.  此外,NSString对象,一旦被创建,就不可以在进行修改。(这里指的是不能在原对象上进行修改 创建之后的任何变动 其实都是在它的一个copy对象上进行)

如若需要一个可以更改的字符串对象,需要创建NSMutableString实例。


一、创建对象

	NSString *string1=@"这个一个字符串常量";
        //创建一个空的字符串
        NSString *string2=[[NSString alloc]init];
        NSString *string3=[NSString string];
        //快速创建一个字符串
        NSString *string4=[[NSString alloc]initWithString:@"一个字符串"];
        NSString *string5=[NSString stringWithString:@"一个字符串"];
        //快速创建一个格式化字符串
        int number=1;
        NSString *string6=[[NSString alloc]initWithFormat:@"%d",number];
        NSString *string7=[NSString stringWithFormat:@"%d",number];



二、比较两个对象(isEqualToString: 和 == 的区别)

	
if([string6 isEqualToString:string7]){
            NSLog(@"相同内容");
        }else{
            NSLog(@"不同内容");
        }
     if(string8==string9){
            NSLog(@"同一个对象");

        }else{

            NSLog(@"不同对象");
        }


isEqualToString:  比较的是两个字符串对象里面的值是否相等
==:则比较的是两个对象的地址,也就是引用是否相同。
在java就很好判断 比如说使用了new关键字产生的对象那在内存中就肯定不一样。OC中的alloc也是一个道理。


三、大小写转换和求长度

	NSString *str = [[NSString alloc]initWithString:@"helloword"];
	NSLog(@"upper %@",[str uppercaseString]);
	NSLog(@"lower %@",[str lowercaseString]);


	NSString *str = [[NSString alloc]initWithString:@"abcdef"];
    
    	NSLog(@"str的长度为%d",[str lenth]);

四、字符串转换为基本数据类型

在OC里面貌似没有java那样的自动打包,解包的功能。

所以要想把一个字符串对象转换成一个基本数据对象就只能

	NSString *str = [[NSString alloc]initWithString:@"3.14"];
    	 NSLog(@"%.2f",[str floatValue]);

同理:还有intValue....等等与之对应的方法。
当然我们要想将基本数据类型放进NSArray或者说NSDictionary的时候
则需要使用这些打包的方法将基本数据类型包装成为对象


五、常规截取和替换字符串
这里有很多方法 我只说一种我用的最多的方法

        NSString* birthday =@"511112199208302415";

        NSString* year = [birthday substringWithRange:NSMakeRange(6, 4)];

NSMakeRange(6, 4)代表从location等于6的位置开始 长度为4

=======================================================

NSString* str = [NSString stringWithFormat:@"123abc123abc123"];

      NSString* str1 = [str stringByReplacingOccurrencesOfString:@"123" withString:@"000"];

这个的结果就是将str里面的123全部替换成000





至于NSMutableString简单的说一下就好了,我也用的不多。用的时候再去查吧。


//插入字符串
        NSMutableString *string19=[[NSMutableString alloc] initWithFormat:@"abc"];
        [string19 insertString:@"xyz" atIndex:2];
//替换字符串
        [string19 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"123"];
//删除字符串
        [string19 deleteCharactersInRange:NSMakeRange(0, 3)];

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值