/*******************************************************************************************
    NSString
    *******************************************************************************************/

//一、NSString    
/*----------------创建字符串的方法----------------*/

//1、创建常量字符串。
NSString*astring = @"This is a String!";

//2、创建空字符串,给予赋值。

NSString*astring =[[NSStringalloc]init];
   astring = @"This is a String!";
[astring release];
NSLog(@"astring:%@",astring);

//3、在以上方法中,提升速度:initWithString方法

NSString*astring =[[NSStringalloc]initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
[astring release];

//4、用标准c创建字符串:initWithCString方法

char*Cstring="This is a String!";
NSString*astring =[[NSStringalloc]initWithCString:Cstring];
NSLog(@"astring:%@",astring);
[astring release];

//5、创建格式化字符串:占位符(由一个%加一个字符组成)

int i =1;
int j =2;
NSString*astring =[[NSStringalloc]initWithString:[NSStringstringWithFormat:@"%d.This is %i string!",i,j]];
NSLog(@"astring:%@",astring);
[astring release];

//6、创建临时字符串

NSString*astring;
   astring =[NSStringstringWithCString:"This is a temporary string"];
NSLog(@"astring:%@",astring);

/*----------------从文件读取字符串:initWithContentsOfFile方法----------------*/

NSString*path= @"astring.text";
NSString*astring =[[NSStringalloc]initWithContentsOfFile:path];
NSLog(@"astring:%@",astring);
[astring release];

/*----------------写字符串到文件:writeToFile方法----------------*/

NSString*astring =[[NSStringalloc]initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
NSString*path= @"astring.text";
[astring writeToFile:pathatomically:YES];
[astring release];    

/*----------------比较两个字符串----------------*/

//用C比较:strcmp函数

char string1[]="string!";
char string2[]="string!";
if(strcmp(string1, string2)==0)
{
NSLog(@"1");
}

//isEqualToString方法    
NSString*astring01 = @"This is a String!";
NSString*astring02 = @"This is a String!";
BOOL result =[astring01 isEqualToString:astring02];
NSLog(@"result:%d",result);

//compare方法(comparer返回的三种值)    
NSString*astring01 = @"This is a String!";
NSString*astring02 = @"This is a String!";
BOOL result =[astring01 compare:astring02]== NSOrderedSame;
NSLog(@"result:%d",result);
//NSOrderedSame判断两者内容是否相同

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

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

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

//不考虑大小写比较字符串2
NSString*astring01 = @"this is a String!";
NSString*astring02 = @"This is a String!";
BOOL result =[astring01 compare:astring02
options:NSCaseInsensitiveSearch | NSNumericSearch]== NSOrderedSame;