字符串的常用方法~入門基礎(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 比較兩個(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ù)制粘貼喲~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侦副,一起剝皮案震驚了整個(gè)濱河市侦锯,隨后出現(xiàn)的幾起案子驼鞭,更是在濱河造成了極大的恐慌,老刑警劉巖尺碰,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挣棕,死亡現(xiàn)場離奇詭異,居然都是意外死亡亲桥,警方通過查閱死者的電腦和手機(jī)洛心,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來题篷,“玉大人词身,你說我怎么就攤上這事》叮” “怎么了法严?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長葫笼。 經(jīng)常有香客問我深啤,道長,這世上最難降的妖魔是什么路星? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任溯街,我火速辦了婚禮,結(jié)果婚禮上洋丐,老公的妹妹穿的比我還像新娘呈昔。我一直安慰自己,他們只是感情好友绝,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布韩肝。 她就那樣靜靜地躺著,像睡著了一般九榔。 火紅的嫁衣襯著肌膚如雪哀峻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天哲泊,我揣著相機(jī)與錄音剩蟀,去河邊找鬼。 笑死切威,一個(gè)胖子當(dāng)著我的面吹牛育特,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼缰冤,長吁一口氣:“原來是場噩夢啊……” “哼犬缨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起棉浸,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤怀薛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后迷郑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枝恋,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年嗡害,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了焚碌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡霸妹,死狀恐怖十电,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叹螟,我是刑警寧澤鹃骂,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站首妖,受9級特大地震影響偎漫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜有缆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一象踊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧棚壁,春花似錦杯矩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至曼验,卻和暖如春泌射,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鬓照。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工熔酷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人豺裆。 一個(gè)月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓拒秘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子躺酒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評論 2 359

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