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 比較兩個(gè)字符串內(nèi)容是否相等(重點(diǎn))
[str1 isEqualToString:str2]
//返回值為BOOL類型倍谜,可以用來作判斷
3 如何得到字符串的長度
NSInteger length = [str1 length]; / str1.length
4 比較兩個(gè)字符串的大新趺:
a) [str1 compare:str2]
//返回值為NSComparisonResult類型:
NSOrderedAscending = -1(升序),
NSOrderedSame=0(相等),
NSOrderedDescending=1(降序)
b) NSComparisonResult result=[str1 compare : str2 options:NSCaseInsensitiveSearch/NSNumericSearch];
//比較時(shí)添加條件:
NSCaseInsensitiveSearch 不區(qū)分大小寫進(jìn)行比較
NSNumericSearch 參考字符的個(gè)數(shù),字符多的大
5 提取子串:
a)取出指定位置中的字符:UniChar ch = [str3 characterAtIndex:5];
b)從指定位置開始向后提取字符串(包括指定位置):NSString *subStr1 = [str3 substringFromIndex:7]; 閉區(qū)間
c)提取從開頭到指定位置的字符串(不包括指定位置): NSString *subStr2 = [str3 substringToIndex:4]; 開區(qū)間
d)提取一個(gè)范圍的字符串: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表示什么也沒有,這個(gè)參數(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]
//只要碰到分隔符集合中的任意一個(gè)就會分割
3 字符串拼接:
NSArray *arr3 = @[@"2016",@"07",@"22"];
NSString *str3 = [arr3 componentsJoinedByString:@"-"]
// 將數(shù)組中的元素通過“-”進(jìn)行拼接
常見錯(cuò)誤:
- 1 給可變的字符串賦值一個(gè)不可變的值:
NSMutableString *str=@“abc”; 錯(cuò)誤 - 2 NSMutableString 的string屬性會將原來的字符串內(nèi)容給覆蓋了
NSMutableString *str= [NSMutableString stringWithFormat :@“abc”];
str.string=@“”; 會將”abc”用@“”覆蓋;
僅供木木學(xué)習(xí),以及有需要的伙伴們閱讀~可轉(zhuǎn)載蚕脏,不可復(fù)制粘貼喲~