久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Objective

 醬油吧 2013-12-29

 

      字符串算是OC中非常重要和常用的一部分內(nèi)容,,OC中的字符串與我之前在學習C,C++,Java中的字符串有一定的不同,它非常類似于C++中容器的概念,,但用法卻與之還是有很大的不同,,也許是因為OC的語法就與其他我們常用的編程語言不盡相同。

       這里總結(jié)一下字符串NSString與NSMutableString,。

一. NSString

      NSString代表字符序列不可變的字符串,,NSString的功能非常強大,OC的字符串處理比C語言的餓字符串簡單,、易用得多,。

      這里我們通過一個具體的例子來進行分析。

      創(chuàng)建兩個字符串對象: 

NSString *str1 = @"this is string A";
NSString *str2 = @"this is string B";

      計算字符串中的字符個數(shù)

NSLog(@"Length of str1 : %lu" , [str1 length]);

     利用stringWithString 將一個字符串復(fù)制到另一個字符串:

res = [NSString stringWithString : str1];
NSLog(@"copy : %@" , res);

     stringByAppendingString,,將一個字符串復(fù)制到另一個字符串的末尾:

str2 = [str1 stringByAppendingString:str2];

      isEqualToNumber : 方法比較兩個NSNumber對象的數(shù)值,。程序會返回一個BOOL值,查看這兩個值是否相等,。

      isEqualToString,,判斷兩個字符串是否相等:

if([str1 isEqualToString: res] == YES)
            NSLog(@"str1 == res");
else
            NSLog(@"str1 != res");

     compare : 方法測試一個值是否在數(shù)值上小于、等于或大于另一個值,。
      如: [intNumber compare : myNumber]
      若intNumber 小于 myNumber ,,返回NSOrderedAscending ;
                           相等                    ,返回NSOrderdSame;
                           大于                    ,,返回NSOrderdDescending

復(fù)制代碼
       //驗證一個字符串是否小于,、等于或大于另一個字符串
        compareResult = [str1 compare: str2];
        
        if(compareResult == NSOrderedAscending)
            NSLog(@"str1 < str2");
        else if(compareResult == NSOrderedSame)
            NSLog(@"str1 == str2");
        else
            NSLog(@"str1 > str2");
復(fù)制代碼

        uppercaseString,將字符串轉(zhuǎn)換為大寫。

        lowercaseString,將字符串轉(zhuǎn)換為小寫,。

        //將字符串轉(zhuǎn)換為大寫
        res = [str1 uppercaseString];
        
        //將字符串轉(zhuǎn)換為小寫
        res = [str1 lowercaseString];
       

示例代碼如下:

代碼清單

       stringByAppendingString,在字符串后面添加固定的字符串:

str = [str stringByAppendingString:@", iOS!"];

       substringToIndex,,獲取str的前10個字符組成的字符串:

substringToIndex:方法創(chuàng)建了一個子字符串,包括首字符都指定的索引數(shù),,但不包括這個字符,。因為索引數(shù)是從0開始的,所以參數(shù)3表示從字符串中提取0,、1,、2,,并返回結(jié)果字符串對象。對于所有采用索引數(shù)作為參數(shù)的字符串方法,,如果提供的索引數(shù)對該字符串無效,,就會獲得Range or index out of bounds的出錯信息。

        //獲取str的前10個字符組成的字符串
        NSString *s1 = [str substringToIndex:10];
        NSLog(@"%@" , s1);

      substringFromIndex,,獲取str從第5個字符開始,,與后面字符組成的字符串:

        //獲取str從第5個字符開始,與后面字符組成的字符串
        NSString *s2 = [str substringFromIndex:5];
        NSLog(@"%@" , s2);

      獲取str從第5個字符開始,,到第15個字符組成的字符串:

        //獲取str從第5個字符開始,,到第15個字符組成的字符串
        NSString *s3 = [str substringWithRange:NSMakeRange(5, 15)];
        NSLog(@"%@" , s3);

      rangeOfString , 獲取ios在str中出現(xiàn)的位置:

        //獲取iOS在str中出現(xiàn)的位置
        NSRange pos = [str rangeOfString:@"iOS"];
        NSLog(@"ios在str中出現(xiàn)的開始位置:%ld , 長度為:%ld" , pos.location , pos.length);

示例代碼如下:

代碼清單

 

二. NSMutableString

      NSMutableString對象代表一個字符序列可變的字符串,,而且NSMutableString是NSString的子類,,因此前面介紹的NSString所包含的方法,NSMutableString都可以直接使用,,NSMutableString對象也可直接當成NSString對象使用,。

      stringWithString,用不可變字符串創(chuàng)建可變字符串:

        //從不可變字符串創(chuàng)建可變字符串
        mstr = [NSMutableString stringWithString:str1];
        NSLog(@"%@" , mstr);

       insertString,,插入字符:

        //插入字符
        [mstr insertString:@"mutable" atIndex:7];
        NSLog(@"%@" , mstr);

      insertString:  atIndex:   ,插入末尾進行有效拼接:

        //插入末尾進行有效拼接
        [mstr insertString:@" and string B" atIndex:[mstr length]];
        NSLog(@"%@" , mstr);

      deleteCharactersInRange:NSMakeRange() , 根據(jù)范圍刪除子字符串:

        //根據(jù)范圍刪除子字符串
        [mstr deleteCharactersInRange: NSMakeRange(16, 13)];
        NSLog(@"%@" , mstr);

      查找然后直接刪除

復(fù)制代碼
        //查找然后將其刪除
        substr = [mstr rangeOfString:@"string B and "];
        
        if(substr.location != NSNotFound){
            [mstr deleteCharactersInRange:substr];
            NSLog(@"%@" , mstr);
        }
復(fù)制代碼

 示例代碼如下:

復(fù)制代碼
 1 #import <Foundation/Foundation.h>
 2 
 3 int main(int argc, const char * argv[])
 4 {
 5 
 6     @autoreleasepool {
 7         
 8         // insert code here...
 9         //NSLog(@"Hello, World!");
10         
11         NSString *str1 = @"this is string A";
12         NSString *search , *replace;
13         NSMutableString *mstr;
14         NSRange substr;
15         
16         //從不可變字符串創(chuàng)建可變字符串
17         mstr = [NSMutableString stringWithString:str1];
18         NSLog(@"%@" , mstr);
19         
20         //插入字符
21         [mstr insertString:@"mutable" atIndex:7];
22         NSLog(@"%@" , mstr);
23         
24         //插入末尾進行有效拼接
25         [mstr insertString:@" and string B" atIndex:[mstr length]];
26         NSLog(@"%@" , mstr);
27 
28         
29         //直接使用appendString
30         [mstr appendString:@" and string C"];
31         NSLog(@"%@" , mstr);
32         
33         //根據(jù)范圍刪除子字符串
34         [mstr deleteCharactersInRange: NSMakeRange(16, 13)];
35         NSLog(@"%@" , mstr);
36         
37         //查找然后將其刪除
38         substr = [mstr rangeOfString:@"string B and "];
39         
40         if(substr.location != NSNotFound){
41             [mstr deleteCharactersInRange:substr];
42             NSLog(@"%@" , mstr);
43         }
44         
45         
46         //直接設(shè)置為可變的字符串
47         [mstr setString:@"this is string A"];
48         NSLog(@"%@" , mstr);
49         
50         //替換一些字符
51         [mstr replaceCharactersInRange:NSMakeRange(8, 6) withString:@" a mutable string"];
52         NSLog(@"%@" , mstr);
53         
54         //查找和替換
55         search = @"this is";
56         replace = @"an example of";
57         
58         substr = [mstr rangeOfString:search];
59         
60         if(substr.location != NSNotFound){
61             [mstr replaceCharactersInRange:substr withString:replace];
62             NSLog(@"%@" , mstr);
63         }
64         
65         //查找和替換所有的匹配項
66         search = @"a";
67         replace = @"X";
68         
69         substr = [mstr rangeOfString:search];
70         
71         while (substr.location != NSNotFound) {
72             [mstr replaceCharactersInRange:substr withString:replace];
73             
74         }
75         
76         NSLog(@"%@" , mstr);
77         
78     }
79     return 0;
80 }
復(fù)制代碼

 

 

 

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多