iOS NSString常用基礎(chǔ)方法

搬博客真是件體力活,將以前的博客重新閱讀、刪減悠轩、編輯悦析,費時費力。但同時也是一個提高的過程,累并快樂著,繼續(xù)


項目中用到NSString的幾個方法,發(fā)現(xiàn)自己對NSString的方法認識的還不系統(tǒng)不完全垮庐,利用閑暇時間整理下一些基礎(chǔ)NSString方法,持續(xù)更新。

創(chuàng)建NSString字符串

NSString 與 char最大的區(qū)別就是 NSString是一個objective對象,而char是一個數(shù)據(jù)類型乎澄。@這個符號為objective-c NSString 字符串常量的標準用法突硝,char* 創(chuàng)建的時候無需添加@

在字符串temp的基礎(chǔ)繼續(xù)添加 int i 與 char* c 組成一個新的字符串

NSString *str4 = [temp stringByAppendingFormat:@"整型: %d 字符型 :%s",i,c];  

在字符串temp的基礎(chǔ)繼續(xù)添加temp 并組成一個新的字符串

NSString *str5 = [temp stringByAppendingString:temp]; 

字符串的遍歷

每一個字符串其實是由若干個char字符組成,字符串的遍歷實際上就是將字符串中的每一個字符提取出來置济。

    NSString *str = @"TEST";    
    int count = [str length];
       //遍歷字符串中的每一個字符   
 for(int i =0; i < count; i++)   
 {        char c = [str characterAtIndex:i];      
          NSLog(@"字符串第 %d 位為 %c",i,c);  
  }   

字符串的比較

isEqualToString方法 :比較字符串是否完全相等解恰,大小寫不一樣也無法完全匹配。
hasPrefixe方法:匹配字符串頭
haSuffix方法:匹配字符串的尾巴

NSString *str0 = @"testcoding";
NSString *str1 = @"testcoding";
if([str0 isEqualToString:str1])
{ 
   NSLog(@"字符串完全相等"); 
} 
if([str0 hasPrefix:@"test"]) 
{ 
   NSLog(@"字符串str0以test開頭"); 
} 
if([str1 hasSuffix:@"coding"])
{
    NSLog(@"str1字符串以coding結(jié)尾"); 
}


考慮大小寫 比較字符串

NSString *string01 = @"this is a String";
NSString *string02 = @"This is a String";
BOOL result = [string01 compare:string02] = = NSOrderedDescending;  
NSLog(@"result:%d",result);   
//字符串對比:NSOrderedAscending(升序),NSOrderedSame(同序),NSOrderedDescending(降序) 
//NSOrderedDescending 判斷兩對象值的大小(按字母順序進行比較浙于,string02小于string01為真)

不考慮大小寫比較字符串

NSString *string01 = @"this is a String!";
NSString *string02 = @"This is a String!";
BOOL result = [string01 compare:string02 
                        options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;
NSLog(@"result:%d",result); 
//NSCaseInsensitiveSearch:不區(qū)分大小寫比較 NSLiteralSearch:進行完全比較护盈,區(qū)分大小寫 NSNumericSearch:比較字符串的字符個數(shù),而不是字符值羞酗。
//判斷的方法可以利用 NSString 類別中 caseInsensitiveCompare: 所回傳 -1腐宋、0 或是 1 的數(shù)值,判定兩個字串之間得排序關(guān)系

字符串改寫大小寫

NSString *string1 = @"A String";
NSString *string2 = @"String";
NSLog(@"string1:%@",[string1 uppercaseString]);//大寫
NSLog(@"string2:%@",[string2 lowercaseString]);//小寫
NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大寫

截取字符串

NSString *str0 = @"nice to meet you";    //截取字符串起始點到index為5之間的內(nèi)容   
NSString * to = [str0 substringToIndex:5];      
NSLog(@"to = %@",to);       //截取字符index為2 到結(jié)尾之間的內(nèi)容    
NSString * from = [str0 substringFromIndex:2];    
NSLog(@"from = %@",from);    
NSRange rang = NSMakeRange(2, 10);
NSString * strRang = [str0 substringWithRange:rang]; 
NSLog(@"rang = %@",strRang);

搜索字符串與替換字符串

NSString *str0 = @“nice to meet you";
NSString *temp = @"meet";    
NSRange rang = [str0 rangeOfString:temp];       
NSLog(@"搜索的字符串在str0中起始點的index 為 %d", rang.location);  
NSLog(@"搜索的字符串在str0中結(jié)束點的index 為 %d", rang.location + rang.length); 

將搜索中的字符串替換成為一個新的字符串

NSString *str = [str0 stringByReplacingCharactersInRange:rang withString:@"met"];
NSLog(@"替換后字符串為%@", str); 
//將字符串中" " 全部替換成 *
str = [str0 stringByReplacingOccurrencesOfString :@" " withString:@"@"];     
NSLog(@"替換后字符串為%@", str);       

使用下面這個方法整體替換字符串還可以設(shè)置替換的區(qū)域檀轨。

stringByReplacingOccurrencesOfString:(NSString *)withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)

字符串尾部添加

appendstring 方法:向字符串尾部添加一個字符串胸竞。
appendFormat方法:向字符串尾部添加多個類型的字符串,可以添加任意數(shù)量與類型的字符串参萄。

NSMutableString * str = [[NSMutableString alloc] init]; //添加普通的字符串    
[str appendString:@"hello"];   

字符串中刪除元素

stringWithString 方法:用于創(chuàng)建字符串初始化賦值
rangeOfString方法:傳入字符串返回一個在該字符串中的范圍 也可以寫 NSMakeRange(0, 3) 意思是范圍在字符串0位到第3位
deleteCharactersInRange:刪除字符串 參數(shù)為Range 就是刪除的范圍卫枝。

NSMutableString *str = [NSMutableString stringWithString:@"nice to meet you"];   
[str deleteCharactersInRange: [str rangeOfString: @"meet"]];          
NSLog(@"str = %@",str);   

字符串插入

stringWithString 方法:用于創(chuàng)建字符串初始化賦值
insertString方法:第一個參數(shù) 插入的字符串對象, 第二個參數(shù) 插入的位置讹挎。

 NSMutableString *str = [NSMutableString stringWithString:@"nice to meet"];      
 //在str第10位插入字符串   
 [str insertString:@"you" atIndex:10];      
 NSLog(@"str = %@",str);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末校赤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子筒溃,更是在濱河造成了極大的恐慌马篮,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怜奖,死亡現(xiàn)場離奇詭異浑测,居然都是意外死亡,警方通過查閱死者的電腦和手機歪玲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門尽爆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怎顾,“玉大人,你說我怎么就攤上這事漱贱。” “怎么了夭委?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵幅狮,是天一觀的道長。 經(jīng)常有香客問我株灸,道長崇摄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任慌烧,我火速辦了婚禮逐抑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屹蚊。我一直安慰自己厕氨,他們只是感情好,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布汹粤。 她就那樣靜靜地躺著命斧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘱兼。 梳的紋絲不亂的頭發(fā)上国葬,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機與錄音芹壕,去河邊找鬼汇四。 笑死,一個胖子當著我的面吹牛踢涌,可吹牛的內(nèi)容都是我干的通孽。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼斯嚎,長吁一口氣:“原來是場噩夢啊……” “哼利虫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起堡僻,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤糠惫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钉疫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硼讽,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年牲阁,在試婚紗的時候發(fā)現(xiàn)自己被綠了固阁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壤躲。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖备燃,靈堂內(nèi)的尸體忽然破棺而出碉克,到底是詐尸還是另有隱情,我是刑警寧澤并齐,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布漏麦,位于F島的核電站,受9級特大地震影響况褪,放射性物質(zhì)發(fā)生泄漏撕贞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一测垛、第九天 我趴在偏房一處隱蔽的房頂上張望捏膨。 院中可真熱鬧,春花似錦食侮、人聲如沸号涯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诚隙。三九已至,卻和暖如春起胰,著一層夾襖步出監(jiān)牢的瞬間久又,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工效五, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留地消,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓畏妖,卻偏偏與公主長得像脉执,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子戒劫,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

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

  • Objective-C 中核心處理字符串的類是 NSString 與 NSMutableString 迅细,這兩個類最...
    家振要翻天閱讀 1,525評論 0 0
  • 我不會取悅你的笑臉 你的一切與我無關(guān) 我不會充當你喜歡的角色 因為我看不慣的東西已經(jīng)夠多 趣味與麻煩巫橄,掙扎與落差 ...
    皆非_lx閱讀 166評論 2 3
  • 時間似流水湘换。 五個月前的今天,仿佛一顆熣爛的新星,帶著一聲清亮的啼哭彩倚,劃破天際筹我,喜降人間。這顆新星帆离,便是我的外孫女...
    言午57閱讀 418評論 0 0
  • 狗狗什么都挺好哥谷,長得清秀(就是有點點肥)袁串,脾氣很好(就是有點腹黑),腦子很靈光(就是總嫌棄我殺)呼巷,就有一點,在它眼...
    狍子和狗閱讀 306評論 0 0