感谢原做者的无私奉献!app
原文连接:http://zhengjj-2009.iteye.com/blog/1943055函数
1、NSString字符串链接
NSString* string; // 结果字符串this
NSString* string1, string2; //已存在的字符串
1. string = [NSString initWithFormat:@"%@,%@", string1, string2 ];
2. string = [string1 stringByAppendingString:string2];</p>
3 . string = [string stringByAppendingFormat:@"%@,%@",string1, string2];atom
4 . string = [string stringByAppendingFormat:@"%@%@%@%@%@%@",string1, string2, string3, string4......];spa
能够拼接不少,%@中间加逗号字符串里也带逗号日志
2、NNString用法code
-----建立字符串的方法-----orm
//一、建立常量字符串对象
NSString *astring = @"This is a String!"; blog
//二、先建立一个空的字符串,而后赋值;
// alloc和init组合则适合在函数之间传递参数,用完以后须要手工release
NSString *astring = [[NSString alloc] init];
astring = @"This is a String!";
NSLog(@"astring:%@",astring);
[astring release];
//三、在以上方法中,提高速度:initWithString方法
NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
[astring release];
//四、建立临时字符串
NSString *astring;
astring = [NSString stringWithCString:"This is a temporary string"];
NSLog(@"astring:%@",astring);
// OR
NSString * scriptString = [NSString stringWithString:@" tell application \"Mail\"\r"];
//五、建立格式化字符串:占位符(由一个%加一个字符组成)
int i = 1;
int j = 2;
NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];
NSLog(@"astring:%@",astring);
[astring release];
-----从文件读取字符串-----
NSString *path = @"astring.text";
NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
NSLog(@"astring:%@",astring);
[astring release];
-----写字符串到文件----
NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
NSString *path = @"astring.text";
[astring writeToFile: path atomically: 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返回的三种值:NSOrderedSame,NSOrderedAscending,NSOrderedDescending)
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;
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;
NSLog(@"result:%d",result);
//NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行彻底比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
3、打印日志
NSLog(@"%@ ",order);//打印字典
NSLog(@"%@ ",imageUrlString);
NSString与std::string互转:
//std::string转NSString std::string _string("hello"); NSString *str= [NSString stringWithCString:_string.c_str() encoding:[NSString defaultCStringEncoding]]; //NSString转std::string NSString * nsfaceName=@"HELLO"; const char * lpfaceName = [nsfaceName UTF8String]; std::string strFaceName= [nsfaceName UTF8String];