字符串的常用方法~入門基礎(chǔ)^O^

NSString的常用方法:

1 OC字符串與C之間的轉(zhuǎn)換:

 c—>oc:  
 a) NSString *Str=  [NSString stringWithUTF8String:ch]
 b) NSString *Str=  [NSString stringWithCString:ch encoding:NSUTF8StringEncoding]
 oc—>c:           
 a)const char *s1=[str UTF8String]

2 比較兩個字符串內(nèi)容是否相等(重點(diǎn))

[str1 isEqualToString:str2]   
//返回值為BOOL類型,可以用來作判斷

3 如何得到字符串的長度

NSInteger length = [str1 length]; / str1.length

4 比較兩個字符串的大?。?/p>

a) [str1 compare:str2]    
//返回值為NSComparisonResult類型:
NSOrderedAscending = -1(升序),
 NSOrderedSame=0(相等),
NSOrderedDescending=1(降序)
b) NSComparisonResult  result=[str1 compare : str2 options:NSCaseInsensitiveSearch/NSNumericSearch];         
//比較時添加條件: 
NSCaseInsensitiveSearch  不區(qū)分大小寫進(jìn)行比較
NSNumericSearch 參考字符的個數(shù),字符多的大

5 提取子串:

a)取出指定位置中的字符:UniChar ch = [str3 characterAtIndex:5];
b)從指定位置開始向后提取字符串(包括指定位置):NSString *subStr1 = [str3 substringFromIndex:7];   閉區(qū)間
c)提取從開頭到指定位置的字符串(不包括指定位置): NSString *subStr2 = [str3 substringToIndex:4];    開區(qū)間
d)提取一個范圍的字符串:NSString *subStr3 = [str3 substringWithRange:NSMakeRange(2, 9)]

6 查找子串:

a)從左邊查找子串:NSRange range = [str3 rangeOfString:@"good"]  
//range.location 為所查找子串在指定字符串中首次出現(xiàn)的位置,range.leng為字符串的長度
b) 從右邊開始查找子串: NSRange range2 = [str3 rangeOfString:@"am" options:NSBackwardsSearch]
c)在指定范圍內(nèi)查找指定的子串:NSRange range=[s1 rangeOfString:@“o” options:0 range:NSMakeRange(0,5)];
//options:是位枚舉,0表示什么也沒有,這個參數(shù)不起作用,但是可以用到后面的指定范圍

7 字符串轉(zhuǎn)化為數(shù)字:

NSInteger count = [str3 integerValue]   
//可以自行決定轉(zhuǎn)化成什么類型(char,int, long,float,double,bool…)

8 轉(zhuǎn)換成大小寫:

a)轉(zhuǎn)換成大寫:NSString *Str= [str4 uppercaseString]
b)轉(zhuǎn)換成小寫:NSString *str=[str4 lowercaseString]

9 判斷前后綴(返回值為BOOL類型)

a)判斷前綴:[str5 hasPrefix:@"https"]
b)判斷后綴:[str5 hasSuffix:@"com"]

10 字符串拼接

a)字符串拼接:NSString *str=[str6 stringByAppendingString:@"Desktop"]
b)路徑拼接:NSString *str=[str6 stringByAppendingPathComponent:@"Desktop"]   
//(路徑拼接會自動加“/”)

11 字符串的替換:

NSString *str= [str stringByReplacingOccurrencesOfString:@“源字符串中的內(nèi)容” withString:@“要替換成的新內(nèi)容”]

12 把OC語言基本類型轉(zhuǎn)化為NSString類的對象:

NSString *str = [NSString stringWithFormat:@"%ld",num]

NSMutableString的常用方法:

NSMutableString繼承于NSString,有NSString所有非私有方法
1 重新設(shè)置字符串內(nèi)容:

[strM setString:@""]

2 增加:

a)字符串后面添加內(nèi)容:[strM appendString:@"德瑪西亞"] 
b)通過制定格式追加(重點(diǎn)):
NSString *str = @" 寒冰射手";
 [strM appendFormat:@"%@",str];
 c)插入內(nèi)容:NSString *str2 = @"人在塔在";
[strM insertString:str2 atIndex:4]    插入到制定下標(biāo)

3 刪除:

 a)通過指定范圍刪除: 
[strM deleteCharactersInRange:NSMakeRange(4, 4)]

4 修改:

a)通過指定范圍修改 
 [strM replaceCharactersInRange:NSMakeRange(5, 4) withString:@"人在塔在"];

5 替換字符串的一部分內(nèi)容:

[str  replaceCharectersInRange:NSMakeRange(11,5) withString:@“itcast”]; 
通過指定范圍來替換字符串中的一部分內(nèi)容

6 字符串的拼接與分割:

NSString *str=@“hello+world+ddd”
1 通過分隔符進(jìn)行分割 :
 NSArray *arr=[str componentsSeparatedByString:@“+”];
NSString *str=@“hello+world-ddd*ccc”
2 通過分隔符集合進(jìn)行分割:
 NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"+-*"];
NSArray *arr2 = [str2 componentsSeparatedByCharactersInSet:set] 
 //只要碰到分隔符集合中的任意一個就會分割
3 字符串拼接:
NSArray *arr3 = @[@"2016",@"07",@"22"];
NSString *str3 = [arr3 componentsJoinedByString:@"-"] 
// 將數(shù)組中的元素通過“-”進(jìn)行拼接

常見錯誤:

  • 1 給可變的字符串賦值一個不可變的值:
    NSMutableString *str=@“abc”; 錯誤
  • 2 NSMutableString 的string屬性會將原來的字符串內(nèi)容給覆蓋了
    NSMutableString *str= [NSMutableString stringWithFormat :@“abc”];
    str.string=@“”; 會將”abc”用@“”覆蓋;

僅供木木學(xué)習(xí),以及有需要的伙伴們閱讀~可轉(zhuǎn)載,不可復(fù)制粘貼喲~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容