场景:下面注释分别说明在什么情况下怎么用NSString
#import <Foundation/Foundation.h>
void TestNSString()
{
NSAutoreleasePool *pool =[NSAutoreleasePool new];
//直接赋值
NSString *str =@"aaaaa";
NSLog(@"str:%@",str);
//初始化并赋值
NSString *initStr =[[NSString alloc] initWithString:@"string init"];
NSLog(@"initStr:%@",initStr);
//创建格式化字符串
int a=5,b=10;
int c = a+b;
NSString *abStr=[[NSString alloc] initWithString:[NSString stringWithFormat:@"%d + %d =%d",a,b,c]];
NSLog(@"abStr:%@",abStr);
//创建临时字符串
NSString *tempStr =[NSString stringWithCString:"This is a temp str!"];
NSLog(@"tempStr:%@",tempStr);
//从文件创建字符串,获取文件路径
//NSString *path = [[NSBundlemainBundle] pathForResource:@"test-nsstring.text"ofType:nil];
//NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
//NSLog(@"astring:%@",astring);
//[astring release];
//比较两个字符串
//用C比较:
char *str1= "this is str";
char *str2= "this is str";
if(strcmp(str1,str2)== 0)
{
NSLog(@"str1 等于 str2");
}
//isEqualToString方法
NSString *string1 =@"this is string";
NSString *string2 =@"this is string";
if([string1 isEqualToString:string2])
{
NSLog(@"string1 等于 string2");
}
//compare 方法
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 compare:astring02] == NSOrderedSame; //NSOrderedSame判断两者内容是否相同
NSLog(@"result:%d",result);
result = [astring01 compare:astring02] == NSOrderedAscending; //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)
NSLog(@"result:%d",result);
result = [astring01 compare:astring02] == NSOrderedDescending; //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
NSLog(@"result:%d",result);
result = [astring01 compare:astring02
options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame;
//NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
NSLog(@"result:%d",result);
//大小写转换
NSString *upperStr =@"This is a long String";
NSString *lowerStr =@"HELLO WORLD";
NSLog(@"upperStr:%@",[upperStr uppercaseString]);//大写
NSLog(@"lowerStr:%@",[lowerStr lowercaseString]);//小写
[pool drain];
}
int main(int argc, char* argv[])
{
TestNSString();
return 0;
}
运行结果:
未完
待续.......