OC -- NSString字符串

#import <Foundation/Foundation.h>
int main(int argc, const char *argv[])
{
  @autoreleasepool
  {
    /*____________(不可變)字符串 NSString_______________________________*/
//創(chuàng)建 -> 屬性 -> 方法
//1.通過(guò)C的字符串
 //c -> oc
  char *cString = "cString";
  NSString *ocStr1 = [[NSString alloc]initWithUTF8String:cString];
  NSString *ocStr2 = [NSString stringWithUTF8String:cString];
  NSString *ocStr3 = [NSString stringWithCString:cString encoding:NSUTF8StringEncoding];
  NSLog(@"%@",ocStr1);

  //oc -> c
  const char *cStr = [ocStr1 UTF8String];

  //2.初始化
  //1.實(shí)例方法
  //快速創(chuàng)建:更改字符串 -> 更改了指針的指向地址
  NSString *string = @"string";
  string = @"新字符串,并不是在原來(lái)的字符串上修改";
//NSString *str1 = [[NSString alloc]initWithString:@"字符串"];
  NSString *str2 = [[NSString alloc]initWithFormat:@"%@哈哈%@",string,string];
  NSLog(@"%@",str2);
  
  //2.類方法
//NSString *str3 = [NSString stringWithString:@"類方法創(chuàng)建字符串"];
  NSString *str4 = [NSString stringWithFormat:@"%d %@ %f",10,string,10.0];

/*____________________________________________________________________*/

  //3.屬性
//NSUInteger length = [string length];
  NSLog(@"%ld",length);

  //4.方法
  //判斷字符串的內(nèi)容是否相同
  BOOL isEqual = [string isEqualToString:str2];
  //判斷字符串的地址是否相同
  NSLog(@"%@",(str2 == str4)?@"地址相同":@"地址不同");
  //比較字符串的大小 -> 升序 相同 降序
  NSComparisonResult result = [@"aaa"caseInsensetiveCompare:@"bbb"];

  switch(result)
  {
    case NSOrderedAscending:
        NSLog(@"升序");
    case NSOrderedSame:
        NSLog(@"平序");
    case NSOrderdDescending:
        NSLog(@"降序");
        break;
    default:
        break;
  }


//??轉(zhuǎn)換:大小字母轉(zhuǎn)換
  NSString *str5 = @"abcdefg hijklmn OPQRST UVWXYZ";

  //1.全部變大寫字母
  NSLog(@"%@",[str5 uppercaseString]);

  //2.全部變小寫字母
  NSLog(@"%@",[str5 lowercaseString]);

  //3.首字母大寫 -> 每個(gè)單詞的首字母大寫,其他小寫
  NSLog(@"%@",[str5 capitalizedString]);

  //str5還是原來(lái)的
  NSLog(@"%@",str5);


  //??轉(zhuǎn)化:基本數(shù)據(jù)類型
  NSString *str6 = @"10086";

  int intS = [str6 intValue];
  NSInteger inteS = [str6integerValue];
  float floS = [str6 floatValue];
  double douS = [str6 doubleValue];
  BOOL boolS = [str6 boolValue];

/*________________________字符串的截取____________________________________*/

//1.分割
  NSString *urlString = @"www.xiaoming.com";
//將參數(shù)作為分隔符,將字符串分割成若干份
NSArray *array = [urlString componentsSeparatedByString:@"."];
NSLog(@"%@",array);

  //2.獲取字符
  char chaaracter = [urlString characterStIndex:4];
  NSLog(@"%c",character);

  //3.截取
  //截取到下標(biāo)(不包括下標(biāo)字符)
  NSLog(@"%@",[urlString substringToIndex:5]);
  //自下標(biāo)截取(包括下標(biāo)字符)
  NSLog(@"%@",[urlString substringFromIndex:5]);
    //范圍截取
/*
    typedef stut _NSRange
    {
        NSUInteger location; //位置 -> 下標(biāo) -> 4
        NSUInteger length; //長(zhǎng)度 -> 長(zhǎng)度 -> 7
    }NSRange;
*/

  //c創(chuàng)建結(jié)構(gòu)體
    NSRange range1 = (4,7);
  //oc創(chuàng)建結(jié)構(gòu)體
    NSRange range = NSMakeRange(4,7);
    NSLog(@"%@",[urlString substringWithRange:range]);

  //4.拼接 appending 
  NSString *appString = @"拼接字符串:";
  //拼接字符串
  NSLog(@"%@",[appString stringByAppendingString:@"尾端添加字符串"]);
  //拼接格式化字符串
  NSLog(@"%@",[appString stringByAppendingFormat:@"尾端添加格式化字符串%d",100]);
  //拼接擴(kuò)展名 。pdf
  NSLog(@"%@",[appString stringByAppengdingPathExtension:@"dmg"]);
  //拼接路徑 /path
  NSLog(@"%@",[appString stringByAppendingPathComponent:@"dmg"]);

//5.查找
  NSString *findString = @"/*路徑*/ /Users/CORYIL/Lirary";
  NSRange findResult = [findString rageOfString:@"Documents"];
  
  //將結(jié)構(gòu)體轉(zhuǎn)化為字符串 NSStringFromXXX(結(jié)構(gòu)體)
  NSLog(@"%@",NSStringFromRange(findResult));

  //6.替換 replacing
    //根據(jù)range替換
  NSString *newString = [findString stringByReplacingCharactersInRange:findResult withString:@"呵呵"];
  NSLog(@"%@",newString)

  //直接替換
  NSLog(@"%@",[findString stringByReplacingOccurrencesOfString:@"Users" withString:@"用戶們"]);

 

  }
  return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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