在Foundation框架中,提供了NNString类,用于处理字符串对象。在C语言中字符串在一对引号中表示。
OC是C语言的一种延展,换句话说,OC语言是建立在C语言的基础之上(C的基础之上添加了面向对象的内容,smalltalk语言)。
因此,为了区别两者的字符串,OC语言的字符串必须以@开头,引号当中则是字符串的内容,如@”abc“.此外,NSString对象,
一旦被创建,就不可以在进行修改。如若需要一个可以更改的字符串对象,需要创建NSMutableString实例。
1:下面是一些创建字符串的方法:
//创建一个字符串常量
NSString *string1=@"这个一个字符串常量";
//创建一个空的字符串
NSString *string2=[[NSString alloc]init];
NSString *string3=[NSString string];
//快速创建一个字符串
NSString *string4=[[NSString alloc]initWithString:@"快速创建一个字符串"];
NSString *string5=[NSString stringWithString:@"快速创建一个字符串"];
//快速创建一个格式化字符串
int number=2;
NSString *string6=[[NSString alloc]initWithFormat:@"%d",number];
NSString *string7=[NSString stringWithFormat:@"%d",number];
2:比较字符串的内容是否相同
NSString *string6=[[NSString alloc]initWithFormat:@"%d",number];
NSString *string7=[NSString stringWithFormat:@"%d",number];
NSLog(@"%@,%@,%@,%@,%@,%@,%@",string1,string2,string3,string4,string5,string6,string7);
//比较两个字符串是否相等
if([string6 isEqualToString:string7]){
NSLog(@"相同内容");
}else{
NSLog(@"不同内容");
}
3:比较两个字符串是否为同一个对象
//比较两个字符串是否是同一个对象
NSString *string8=[NSString stringWithString:@"123"];
NSString *string9=[NSString stringWithString:@"123"];
if([string8 isEqualToString:string9]){
NSLog(@"相同内容");
}else{
NSLog(@"不同内容");
}
if(string8==string9){
NSLog(@"同一个对象");
}else{
NSLog(@"不同对象");
}
4:比较字符串的大小
//比较字符串的大小
NSString *string10=[[NSString alloc]initWithString:@"a"];
NSString *string11=[[NSString alloc]initWithString:@"b"];
NSComparisonResult result=[string10 caseInsensitiveCompare:string11];
NSLog(@"%ld",result); //-1表示升序
5:创建字符串还有如下一些常用的方法:
- (id)init;
- (id)initWithCharactersNoCopy:(unichar *)characters length:(NSUInteger)length freeWhenDone:(BOOL)freeBuffer; /* "NoCopy" is a hint */
- (id)initWithCharacters:(const unichar *)characters length:(NSUInteger)length;
- (id)initWithUTF8String:(const char *)nullTerminatedCString;
- (id)initWithString:(NSString *)aString;
- (id)initWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
- (id)initWithFormat:(NSString *)format arguments:(va_list)argList NS_FORMAT_FUNCTION(1,0);
- (id)initWithFormat:(NSString *)format locale:(id)locale, ... NS_FORMAT_FUNCTION(1,3);
- (id)initWithFormat:(NSString *)format locale:(id)locale arguments:(va_list)argList NS_FORMAT_FUNCTION(1,0);
- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding;
- (id)initWithBytes:(const void *)bytes length:(NSUInteger)len encoding:(NSStringEncoding)encoding;
- (id)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)len encoding:(NSStringEncoding)encoding freeWhenDone:(BOOL)freeBuffer; /* "NoCopy" is a hint */
+ (id)string;
+ (id)stringWithString:(NSString *)string;
+ (id)stringWithCharacters:(const unichar *)characters length:(NSUInteger)length;
+ (id)stringWithUTF8String:(const char *)nullTerminatedCString;
+ (id)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
+ (id)localizedStringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
- (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)enco