NSString、NSMutableString

Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSString创建赋值后不能动态修改长度和内容,除非给重新赋值。而NSMutableString类似与链表的,在创建赋值后可以进行修改长度,插入,删除等操作。

NSString创建

1、创建常量字符串

NSString * ConstString = @"我是常量字符串";  

2、用类方法创建字符串

NSString *classString = [NSString stringWithFormat:@"我是类方法创建的字符串"];

3、用实例方法创建字符串

NSString *instanceString = [[NSString alloc]initWithString:@"我是实例方法创建的字符串"];

4、通过c字符串创建字符串

char * cString = "我是c字符串";

    NSString *cAllocString = [[NSString alloc]initWithCString:cString];

5、通过文件创建字符串

NSString * path = [[NSBundle mainBundle]pathForResource:@"string.txt" ofType:nil];

    NSString *fileString = [[NSString alloc]initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

NSString写入文件

NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];

    NSLog(@"astring:%@",astring);

    NSString *path = @"astring.text";

    [astring writeToFile: path atomically: YES];  //string写入文件

获取NSString的长度

NSString * bString = [NSString stringWithFormat:@"I am a String."];

    NSInteger length = [bString length];

    NSLog(@"%@的长度为:%i",bString,length);

组合String

     NSString * a1String = [NSString stringWithFormat:@"I am a1String"];

    NSString * a2String = [NSString stringWithFormat:@"I am a2String"];

     NSString * cString = [a1String  stringByAppendingFormat:a2String];

     NSString * b1String = [NSString stringWithFormat:@"I am b1String"];

    NSString * b2String = [NSString stringWithFormat:@"I am b2String"];

     NSString * dString = [b1String stringByAppendingString:b2String];

判断开头结尾

NSMutableString  *a = [[NSMutableString alloc ] initWithString :@"i like long dress"];

NSLog(@"\n a: %@",a);

[a hasPrefix:@"i"] ==YESNSLog(@" i 开头"): NSLog(@"不以 i 开头");

[a hasSuffix:@"hat"] ==YES? NSLog(@" hat 结尾"): NSLog(@"不以 hat 结尾");

判断字符串是否相等

isEqualToString:

改变大小写:

lowercaseString、uppercaseString

获取字符串存储的数字值:

doubleValue、floatValue、intValue、integerValue、longLongValue、boolValue

字符串比较:(考虑大小写)

NSString *astring01 = @"This is a String!";
 
NSString *astring02 = @"This is a String!";    
 
BOOL result = [astring01 compare:astring02] == NSOrderedSame;    //NSOrderedSame判断两者内容是否相同
 
NSLog(@"result:%d",result);    
 
//
NSString *astring01 = @"This is a String!";
 
NSString *astring02 = @"this is a String!";
 
BOOL result = [astring01 compare:astring02] == NSOrderedAscending;    //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)
 
NSLog(@"result:%d",result);

//
NSString *astring01 = @"this is a String!";
 
NSString *astring02 = @"This is a String!";
 
BOOL result = [astring01 compare:astring02] == NSOrderedDescending;    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
 
NSLog(@"result:%d",result);     

字符串比较(考虑大小写)

NSString *astring01 = @"this is a String!";
 
NSString *astring02 = @"This is a String!";
 
BOOL result = [astring01 caseInsensitiveCompare:astring02] == NSOrderedSame;    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

NSLog(@"result:%d",result); 

//2.
NSString *astring01 = @"this is a String!";
 
NSString *astring02 = @"This is a String!";
 
BOOL result = [astring01 compare:astring02
 
options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame;    //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
 
NSLog(@"result:%d",result); 

获取子字符串:

-substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符

-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符

-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串

插入字符串:

NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
 
[String1 insertString:@"Hi! " atIndex:0];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值