開發過程當中不免遇到字符串操做

開發過程當中不免遇到字符串操做,下面是DevDiv爲您總結的NSString+NSMutableString+NSValue+NSAraay用法彙總,幫您應對各類字符串操做。
//1、NSString   
    /*----------------建立字符串的方法----------------*/
    //一、建立常量字符串。
    NSString *astring = @"This is a String!";
    //二、建立空字符串,給予賦值。
    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];
    //四、用標準c建立字符串:initWithCString方法
    char *Cstring = "This is a String!";
    NSString *astring = [[NSString alloc] initWithCString:Cstring];
    NSLog(@"astring:%@",astring);
    [astring release];
    //五、建立格式化字符串:佔位符(由一個%加一個字符組成)
    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 *astring;
    astring = [NSString stringWithCString:"This is a temporary string"];
    NSLog(@"astring:%@",astring);
    /*----------------從文件讀取字符串:initWithContentsOfFile方法 ----------------*/   
    NSString *path = @"astring.text";
    NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
    NSLog(@"astring:%@",astring);
    [astring release];
    /*----------------寫字符串到文件:writeToFile方法 ----------------*/   
    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返回的三種值)   
    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;   
    NSLog(@"result:%d",result);     
    //NSCaseInsensitiveSearch:不區分大小寫比較 NSLiteralSearch:進行徹底比較,區分大小寫 NSNumericSearch:比較字符串的字符個數,而不是字符值。
    /*----------------改變字符串的大小寫----------------*/   
    NSString *string1 = @"A String";
    NSString *string2 = @"String";
    NSLog(@"string1:%@",[string1 uppercaseString]);//大寫
    NSLog(@"string2:%@",[string2 lowercaseString]);//小寫
    NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小
    /*----------------在串中搜索子串 ----------------*/        
    NSString *string1 = @"This is a string";
    NSString *string2 = @"string";
    NSRange range = [string1 rangeOfString:string2];
    int location = range.location;
    int leight = range.length;
    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];
    NSLog(@"astring:%@",astring);
    [astring release];
    /*----------------抽取子串 ----------------*/        
    //-substringToIndex: 從字符串的開頭一直截取到指定的位置,但不包括該位置的字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringToIndex:3];
    NSLog(@"string2:%@",string2);
    //-substringFromIndex: 以指定位置開始(包括指定位置的字符),幷包括以後的所有字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringFromIndex:3];
    NSLog(@"string2:%@",string2);
    //-substringWithRange: //按照所給出的位置,長度,任意地從字符串中截取子串
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];
    NSLog(@"string2:%@",string2);
api

相關文章
相關標籤/搜索