(转)Object-C NSString使用整理

感谢原做者的无私奉献!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];
相关文章
相关标签/搜索