(轉)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];
相關文章
相關標籤/搜索