你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> IOS階段學習第13天筆記(NSString與NSMutableString)

IOS階段學習第13天筆記(NSString與NSMutableString)

編輯:關於IOS

IOS學習(OC語言)知識點整理

一、OC字符串的操作

1)OC中字符串分為兩種:

1、不可變字符串NSString:不能修改對象內容,但是可以改變對象的指針。

2、可變字符串NSMutableString:可以修改對象內容。

二、NSString 不可變字符串的操作

1)將字符串常量對象直接賦值給字符串引用 NSString *str1=@"hello"; 字符串對象的輸出格式:NSLog(@"str1=%@",str1)。

2)initWithString可將OC中的字符串對象構建字符串引用  NSString *str2=[[NSString alloc]initWithString:str1]; 。

3)initWithUTF8String可將C語言的字符串創建OC的字符串對象,將C字符串轉換為OC字符串: NSString *str3=[[NSString alloc]initWithUTF8String:"iOS"];

4)initWithFormat可將OC的格式化字符串創建OC的字符串對象int age=20;

NSString *str4=[[NSString alloc]initWithFormat:@"name is %@,age is  %d",str1,age];

5)可使用.length方法獲取字符串的長度 NSUInteger len= str1.length;

6)characterAtIndex可根據下標取出某個字符 如: NSString *str1=@"hello"; unichar c= [str1 characterAtIndex:0]; 結果為:h

7)compare用於比較兩個字符串,該方法區分大小寫, 返回結果為NSComparisonResult 枚舉類型數據 枚舉值有

1、NSOrderedAscending 表示前一個字符串小於後一個字符串

2、NSOrderedSame 表示兩個字符串相等

3、NSOrderedDescending 表示前一個字符串大於後一個字符串

實例代碼:

1 NSString *str1=@"hello";
 2 NSString *str3=[[NSString alloc]initWithUTF8String:"iOS"];
 3 NSComparisonResult cmp=[str1 compare:str3];
 4  if(cmp==NSOrderedAscending){
 5    NSLog(@"%@<%@",str1,str3);
 6  }else if (cmp==NSOrderedSame){
 7    NSLog(@"%@=%@",str1,str3);
 8  }else if (cmp==NSOrderedDescending){
 9    NSLog(@"%@>%@",str1,str3);
10  }//結果:hello<iOS
8)caseInsensitiveCompare 不區分大小寫比較字符串;比較字符串,可以設置比較選項

    NSNumericSearch:如果字符串中有數字, 按數字大小比較,例如:ios5<iso12

    NSCaseInsensitiveSearch:不區分大小寫比較,例如iOS7=ios7

 實例代碼:

 1 NSComparisonResult cmp=[str1 caseInsensitiveCompare:str3];
 2 str1=@"iOS7";
 3 str3=@"ios7";
 4 cmp=[str1 compare:str3 options:NSCaseInsensitiveSearch];
 5 if(cmp==NSOrderedAscending){
 6  NSLog(@"%@<%@",str1,str3);
 7  }else if (cmp==NSOrderedSame){
 8   NSLog(@"%@=%@",str1,str3);
 9 }else if (cmp==NSOrderedDescending){
10    NSLog(@"%@>%@",str1,str3);
11  } 結果:iOS7=ios7
9)isEqualToString 比較2個字符串內容是否相等,返回BOOL(YES/NO)值

 實例代碼:

1 NSString *str1=@"hello";
2 NSString *str2=[[NSString alloc]initWithString:str1];
3 if([str1 isEqualToString:str2]){
4     NSLog(@"%@ equal %@",str1,str2);
5  }//結果:hello equal hello
10)uppercaseString 將小寫字母字符串轉為大寫   NSString *str1=@"hello";NSString *str6=[str1 uppercaseString];

      結果為:HELLO 

 11)lowercaseString 將大寫字母字符串轉為小寫 。

 12)hasPrefix 判斷是否以某個字符串開頭(作為前綴)例如 :

        NSString  str1=@"www.baidu.com";

        if([str1 hasPrefix:@"www"]){

            NSLog(@"yes");

        }  結果:yes

13)hasSuffix 判斷是否以某個字符串結尾(後綴)例如:

    NSString  str1=@"www.baidu.com";

    if([str1 hasSuffix:@"com"]){

            NSLog(@"yes");

     }結果:yes

14)substringFromIndex 從某個下標開始取子字符串(到結束)例如:

        NSString  str1=@"This is string A";

        NSString *res=[str1 substringFromIndex:1]; 結果:his is string A

15)substringToIndex 從第一個字符開始取到某個下標的子字符串,不包括當前數字對應的字符,取當前數字下標前面字符

      例如:

        NSString  str1=@"This is string A";

        NSString  *res=[str1 substringToIndex:2];結果:Th

        [[str1 substringFromIndex:8] substringToIndex:5];結果: strin

16)substringWithRange 根據范圍返回子字符串

        NSRange range={8,5};//直接給范圍值

        range=NSMakeRange(8, 5);//通過函數返回一個范圍的變量

        NSString  str1=@"This is string A";

        NSString res=[str1 substringWithRange:range]; 結果:strin

 17)rangeOfString 在字符串中查找子字符串,返回這個字符串的所在位置以及長度 NSRange

       例如:

         NSString  str1=@"This is string A";

         NSRange  range=[str1 rangeOfString:@"string"]; 結果:{8,6}

          if(range.location!=NSNotFound){

            NSLog(@"find");

         }結果:find

 三、NSMutableString 可變字符串的操作

 1)initWithString 用不可變字符串創建可變字符串對象 例如:

      NSString *str=@"This is string B";

      NSMutableString *mStr=[[NSMutableString alloc]initWithString:str];

 2)insertString 在指定下標位置插入一個字符串 例如:

      NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"This is string B"];

      [mStr insertString:@"hello " atIndex:0]; 結果:hello This is string B

3)appendString 在字符串後面追加字符串 例如:

     NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"This is string B"];

     [mStr appendString:@" shanghai”];結果:This is string B shanghai

4)appendFormat 在字符串後面追加一個格式化字符串 例如:

     NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"This is string B"];

     [mStr appendFormat:@" %d",20];結果:This is string B 20

5)deleteCharactersInRange 將指定范圍的字符串刪除 例如:

     NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"This is string B"];

     [mStr deleteCharactersInRange:NSMakeRange(0, 6)]; 結果: s string B

6)replaceCharactersInRange 將指定范圍的字符串用新的字符串替換 例如:

1 NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"This is string B"];
2 [mStr replaceCharactersInRange:NSMakeRange(2, 2) withString:@"IS"]; //結果:ThIS is string B
3  //將字符串中所有的is替換為IS
4  NSRange range=[mStr rangeOfString:@"is"];
5  while (range.location!=NSNotFound) {
6       [mStr replaceCharactersInRange:range withString:@"IS"];
7       range=[mStr rangeOfString:@"is"];
8  }
7)replaceOccurrencesOfString 將字符串中指定范圍內所有的is替換成IS 例如:

    NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"This is string B"];

    [mStr replaceOccurrencesOfString:@“is” withString:@“IS” options:1 range:NSMakeRange(0, mStr.length)]; 

    結果:ThIS IS string B

8)setString 修改字符串內容 例如: NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"This is string B"];

    [mStr setString:@"hello"]; 結果:hello
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved