OC中字符串NSString

1. 蘋(píng)果開(kāi)發(fā)者文檔

蘋(píng)果每次iOS版本的升級(jí), 都會(huì)更新大量的API, 并提供相應(yīng)的參考文檔!
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù), 目的是提供該應(yīng)用程序與開(kāi)發(fā)者人員基于某軟件或者硬件得以訪問(wèn)一組編程的能力, 而無(wú)需訪問(wèn)遠(yuǎn)嗎. 或理解內(nèi)部的工作機(jī)制的細(xì)節(jié).
Xcode -> Help->Documentation and API Reference 里面是蘋(píng)果的開(kāi)發(fā)者文檔!

2. Foundation

Foundation 框架是Cocoa變成. iOS檳城的基礎(chǔ)框架, 包括" 字符串, 集合, 日期, 時(shí)間等基礎(chǔ)類(lèi)!
字符串, 數(shù)組, 字典. 都屬于Foundation框架.

3. 字符串

c語(yǔ)言中, 字符串是由char(ASCII碼)組成;
OC中, 字符串是由unichar(Unicode)字符串組成;
NSString, 不可變字符串: 即創(chuàng)建以后, 內(nèi)容不可以修改!
NSMutableString 可變字符串, 創(chuàng)建之后內(nèi)容可變;
創(chuàng)建一個(gè)字符串, 可以使用實(shí)例方法和構(gòu)造器!

  • NSString

    • 創(chuàng)建不可變字符串
      初始化創(chuàng)建
      NSString *name = [[NSString alloc] initWithString:@"zhangsan"];

    便利構(gòu)造器創(chuàng)建
    NSString *name = [NSString stringWithString:@"1234567890"];

    常用字符串創(chuàng)建 直接創(chuàng)建
    

NSString *name = @"1234567890";

  • 獲取字符串長(zhǎng)度
    NSLog(@"length = %lu",[name length]);
    NSLog(@"length = %lu", name.length);
    打印結(jié)果
    ; [1371:303] length = 10

  • 獲取子字符串, 關(guān)鍵字subs 為字符串 index 下標(biāo)

    • NSString *str1 = [name substringFromIndex: 3]; NSLog(@"str1 = %@", str1);
      從下標(biāo)為3 的開(kāi)始獲取
      打印結(jié)果 str1 = 4567890
    • NSString *str2 = [name3 substringToIndex: 3]; NSLog(@"str2 = %@", str2);
      到下標(biāo)為3的( 不含下標(biāo)為3的 );
      打印結(jié)果 str2 = 123;
    • NSRange range = NSMakeRange(2, 3); NSString *str3 = [name3 substringWithRange:range];
      NSLog(@"str3 = %@", str3);
      表示從第幾個(gè)開(kāi)始, 取后邊幾個(gè)數(shù)
      打印結(jié)果 str2 = 123;
  • 拼接字符串 關(guān)鍵字 Appending
    NSString *pro = @"河南省";
    NSString *city = @"北京";
    NSString *local = [pro stringByAppendingString: city];
    NSLog(@"local = %@", local);
    打印結(jié)果
    local = 河南北京

  • 替換字符串 關(guān)鍵字replace

    • NSString *word = @"hello";
      NSString *newWord =[word stringByReplacingOccurrencesOfString:@"e" withString:@"o"];
      NSLog(@"neWord = %@", newWord);
      打印結(jié)果
      neWord = hollo // 字符替換 把e換成o;

    • 替換一部分
      NSRange range1 = NSMakeRange(2, 1);
      // 從下標(biāo)2開(kāi)始取1個(gè)范圍, 替換一部分
      NSString *word2 = [word stringByReplacingCharactersInRange:range1 withString:@"o"];
      NSLog(@"Word2 = %@", word2);
      打印結(jié)果
      word3 = heolo;

  • 字符串相等; EqualToString
    NSString *userName = @"leo";
    if ([userName isEqualToString:@"leo"]) {
    NSLog(@"登陸");
    } else {
    NSLog(@"用戶(hù)不存在");
    }`

  • 字符串比較 compare
    NSString *str1 = @"abc";
    NSString *str77 = @"abd";
    NSLog(@"比較結(jié)果: %ld",[str77 compare:str77]);
    打印結(jié)果: 0 // 和C語(yǔ)言中字符串比較相同

  • 判斷是否是以 某字符串開(kāi)始或結(jié)尾
    -(BOOL)hasPrefix:nsstring 測(cè)試字符串是否以什么開(kāi)始
    -(BOOL)hasSuffix:nsstring 測(cè)試字符串是否以 什么 結(jié)尾

  • 字符串大小寫(xiě)轉(zhuǎn)換 關(guān)鍵字 case
    NSString *str1 = @"I am a Student";
    字符串全部改為小寫(xiě)字母
    NSString *str99 = [str9 lowercaseString];
    NSLog(@"str99: %@", str99);
    // 打印
    str1: i am a student

  • 數(shù)值與字符串相互轉(zhuǎn)化
    // 字符串轉(zhuǎn)換數(shù)數(shù)字
    NSString *str = @"123456";
    double p = [str doubleValue];
    NSLog(@"p = %lf", p);
    ** P = 123456;**

    // 數(shù)字轉(zhuǎn)字符串
    int a = 12345;
    NSString *str = [NSString stringWithFormat:@"%d", a];
    NSLog(@" str = %@", str);
    打印結(jié)果: str = 12345;

  • 可變字符串 NSMutablString
    NSMutableString *mstr1 = [NSMutableString stringWithString:@"可變字符串"];
    NSMutableString *mstr2 = [NSMutableString stringWithFormat:@"可變字符串%@",mstr1];
    這個(gè)也是賦值, 后一個(gè) %@ 算是占位符 也就是吧mstr1的值也讀取到了
    打印后
    mstr2 = 可變字符串可變字符串,

    • 拼接字符串
      [mstr1 appendString:@"可變長(zhǎng)"];
      NSLog(@"mstr = %@", mstr1);
      打印后
      mstr = 可變字符串可變長(zhǎng)
  • 插入字符串
    [mstr1 insertString:@"任意" atIndex:6];
    NSLog(@"mstr1 = %@", mstr1);
    打印
    mstr1 = 可變字符串可任意變長(zhǎng)//
    這只是NSString文檔中的一部分, 還有好多方法可以調(diào)用;當(dāng)要使用的時(shí)候, 可以看開(kāi)發(fā)者文檔, 來(lái)查找你所需要的方法,

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

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

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