object-c 之NSString

//字符串操作
//1 求字符串長度
        NSString * str = @"hello world";
        NSUInteger len = [str length];//unsigned long
        NSLog(@"len = %lu",len);
2 把輸入的字符串轉(zhuǎn)化為OC字符串
        char ch[100] = {};
        //abzzzdf    ab
        scanf("%[abc]",ch);//ch = ab  a = 1  a = 2
        scanf("%[^\n]",ch); //ch = zzzdf;
        // a b     '1'  '\n'
        //掃描集形式%[]  括號(hào)里邊是條件
        //  ^字符 當(dāng)做條件   除了這個(gè)字符 都接受  直到碰到此字符 接收結(jié)束
           //把C字符串 轉(zhuǎn)換為OC
         NSString *str1 = [NSString stringWithUTF8String:ch];
        NSLog(@"str1 = %@",str1);

        //3 獲取某個(gè)位置的字符
        //char  %c  unichar %C
        unichar ch =[str characterAtIndex:0];
        NSLog(@"%C",ch);
        //4 把單個(gè)字符轉(zhuǎn)化為字符串
        NSString * strChar = [NSString stringWithFormat:@"%C",ch];
        NSLog(@"strChar = %@",strChar);
        //5 提取子串  從0提取到index 不包含index
        //hello world
        NSString *subStr1 = [str substringToIndex:4];
        NSLog(@"substr1 = %@",subStr1);
        //6 提取子串  從index到末尾  包含index
       NSString *subStr2 = [str substringFromIndex:2];
        NSLog(@"subStr2 = %@",subStr2);
7 提取范圍字符子串
        NSRange range1 = {3,4};
        //NSRange 定義一個(gè)范圍 {A,B} 從A開始 B個(gè)位置
        //NSString 開頭類方法 構(gòu)造一個(gè)對象  對象開頭 對此對象進(jìn)行操作
        NSString *subStr3 = [str substringWithRange:range1];
        NSLog(@"subStr3 =%@",subStr3);
8 判斷是否含有前綴
        NSString *str1 = @"www.baidu.com";
        BOOL ret = [str1 hasPrefix:@"www"];        
        if (ret){
           NSLog(@"str1含有www前綴");
        }else{
            NSLog(@"str1不含有前綴");
       }       
       if ([str1 hasSuffix:@"com"]){ 
            NSLog(@"str1含有后綴com");
      } else{
            NSLog(@"str不含有后綴");
       }
9 字符串轉(zhuǎn)換成大寫字符
        NSString *str2 = @"asdfgQWERTxcvb";
        NSString * str3 = [str2 uppercaseString];
       NSLog(@"str3 = %@",str3);
9.1字符串轉(zhuǎn)換成小寫字符
        NSString *str4 = [str2 lowercaseString];
        NSLog(@"str4 = %@",str4);
9.2把字符串首字母大寫
        NSString *str5 = [str2 capitalizedString];
        NSLog(@"str5 = %@",str5);
10 把字符串轉(zhuǎn)換成基本數(shù)據(jù)類型   
        NSString *str6 = @"123";//floatValue   intgerValue
       NSLog(@"%i",[str6 intValue]);
11 字符串比較 
        NSString *str1 = @"ABC";
        NSString *str2 = @"abc";
      NSComparisonResult ret = [str1 compare:str2];
        //str1-str2 0 1
11.1 升序 NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending
        
        if (ret == NSOrderedAscending)
        {
            NSLog(@"str1 <str2");
        }
        else if(ret == NSOrderedSame)
        {
            NSLog(@"str1 = str2");
        }
        else
        {
            NSLog(@"str1>str2");
        }

        /*
         NSCaseInsensitiveSearch = 1, 以大小寫不敏感形式進(jìn)行比較
         NSLiteralSearch = 2, 正序查找
        NSBackwardsSearch = 4,  反序查找
         */
        NSComparisonResult ret1 = [str1 compare:str2 options:NSCaseInsensitiveSearch];
        if (ret1 == 0)
        {
            NSLog(@"大小寫不敏感");
        }
12 判斷字符串是夠相等
        BOOL  ret2 =[str1 isEqualToString:str2];
        if (ret2 == 0)
        {
            NSLog(@"str1 不等于 str2");
        }
13 字符串查找
        NSString * str = @"nanjing boweifeng nanjing";
        NSRange range1 =[str rangeOfString:@"jing"];
        //range1.location 字符串的下標(biāo) range1.length 字符串的長度 
     if (range1.location== NSNotFound)
        {
            NSLog(@"沒有查找到");
        }
        else
        {
         NSLog(@"location =%li length =%li",range1.location,range1.length);
        }

13.1 選擇正序或者逆序查找
        NSRange range2 = [str rangeOfString:@"jing" options:NSBackwardsSearch]; 
        if (range2.location== NSNotFound)
        {
            NSLog(@"沒有查找到");
        }
        else
        {
            NSLog(@"location =%li length =%li",range2.location,range2.length);
        }
13.2 在指定范圍內(nèi)  正序或者逆序查找  1 要查找的字符串 2 添加一個(gè)條件正序或者逆序 3 在指定范圍內(nèi)nanjing boweifeng nanjing
        NSRange range3 = [str rangeOfString:@"feng" options:NSLiteralSearch range:NSMakeRange(8, 10)];
        
        NSLog(@"location =%li length =%li",range3.location,range3.length);
14 替換
         // 1 使用某個(gè)字符串替換字符串
        NSString *str3 = [str stringByReplacingOccurrencesOfString:@"nanjing" withString:@"替換"];
        NSLog(@"str3 = %@",str3);
        //2 在某個(gè)范圍內(nèi)  正序或者逆序    使用某個(gè)字符串替換字符串
        NSString *str4 = [str stringByReplacingOccurrencesOfString:@"nanjing" withString:@"替換" options:NSBackwardsSearch  range:NSMakeRange(10, 15)];
        NSLog(@"str4 = %@",str4);
        //3
        NSString *str5 = [str stringByReplacingCharactersInRange:NSMakeRange(5, 7) withString:@"替換范圍"];
        NSLog(@"str5 =%@",str5);
15  讀取網(wǎng)址
        NSURL * url =[NSURL URLWithString:@"http://www.douyu.com"];
        //1 網(wǎng)址 2 編碼要求 3 nil
        NSString *urlString = [NSString stringWithContentsOfURL:url encoding:4 error:nil];
        NSLog(@"urlString =%@",urlString);
16 讀取文件
        NSString *fileString = @"/Users/wangjiawei/Desktop/git命令.rtf";
        NSString *fileContent = [NSString stringWithContentsOfFile:fileString encoding:4 error:nil];
        NSLog(@"fileContent = %@",fileContent);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容