NSString/NSMutable字符串——韩俊强…
1、OC基本數據類型(簡單鋪墊)
// NSInteger 在64 位下相當于long,在非64位下相當于 int;
// CGFloat 在64位下相當于double 在非64位下相當于 float;
//如何使用API文檔學習系統類庫中類
//help --》Documentation and API reference
//快捷鍵 option + 左鍵 cmmand + 左鍵 進入類的頭文件(嚴重警告:進系統頭文件之后,退出時一定要按幾次 cmmand + z),看系統頭文件適合已經對這個類有很大了解的學生
=========================================================
3、// NSString 是一個字符串類,而且是一個不可變的字符串類,繼承自NSObject ,用NSString創建的字符對象,一經創建就不能修改;
//類簇:將一些私有的子類組合在一起形成一個公共的抽象的超類,那么這個超類就是類簇;
//創建一個字符串對象
char *s = "lanou";
NSLog(@"%s",s);
//oc中創建字符串
NSString *str = @"lanou";//快速創建字符串的方法
NSLog(@"%@",str);
//創建空字符串
NSString *str1 = [[NSString alloc]init];
NSLog(@"%@ %p ",str1,str1);
str1 = @"年后";//這種改變只是指針的重指向
NSLog(@"%@ %p ",str1,str1);
NSString *str2 = [NSString string];
NSLog(@"==%@",str2);
//創建不可變空字符串是沒有任何意義的
//格式化創建不可變字符串對象
NSLog(@"lanou");
NSLog(@"lanou%@",@"i love you");
//我 拼接上 愛鳳姐
NSLog(@"我%@",@"愛鳳姐");
NSString *str3 = [[NSString alloc]initWithFormat:@"%@ %@",@"lanou",@"i love you"];
NSLog(@"%@",str3);
NSString *str4 = [[NSString alloc]initWithFormat:@"我%@",@"愛鳳姐" ];
NSLog(@"%@",str4);
例子:字符串:@"優衣庫試衣間" ,@"趣事多"
NSString *str6 =@"優衣庫試衣間";
NSString *str7 = @"趣事多";
NSString *str5 = [[NSString alloc]initWithFormat:@"%@%@",str6,str7];
NSLog(@"%@",str5);
4、//遍歷構造器格式化創建字符串方法
NSString *str8 = [NSString stringWithFormat:@"我在家里洗衣覅,%@",@"你在優衣庫買衣服"];
NSLog(@"%@",str8);
//創建字符串的另一種方式(現在已經不用了);
NSString *str9 = [[NSString alloc]initWithString:@"我在藍歐37班"];
NSString *str10 = [NSString stringWithString:@"靠 ,我也在藍歐37班"];
NSLog(@"%@",str10);
例子:
// ============================================
5、 //將c語言字符串轉換為oc字符串比如:"iOS" @"ios"
NSString *str11 = [[NSString alloc]initWithUTF8String:"ios"];
NSLog(@"%@",str11);
NSString *str12 = [NSString stringWithUTF8String:"ios"];
NSLog(@"%@",str12);
6、//頭文件初始化對象方法
//將文件中的字符串內容讀入到字符串對象中
//第一個參數:文件的路徑 第二個參數:編碼格式 第三個參數: 如果出錯了返回值存放的位置
//初始化方法
NSString *str13 = [[NSString alloc]initWithContentsOfFile: @"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt"encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",str13);
//遍歷構造器方法
NSString *str14 = [NSString stringWithContentsOfFile:@"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt" encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",str14);
// ==========================================
7、 //操作字符串的方法
//計算字符串長度的方法
NSString *ss = @"lanou3g";
NSUInteger len = [ss length];//無符號長整形
NSLog(@"%lu",len);
一個中文占三個字節
NSString *ss2 = @"翔哥 今天晚上區如家吧?";
NSLog(@"%lu",ss2.length);
8、//返回字符串片段的方法
NSString *str15 = @"abcdefgdef";
NSRange rang = {3,3};
NSString *subString = [str15 substringWithRange:rang];
NSLog(@"%@",subString);
9、//返回字串在父串中范圍
rang = [str15 rangeOfString:@"def"];
NSLog(@"loctation:%lu length : %lu",rang.location,rang.length);//不是點語法
//獲取到從零位置到某個位置的字符不包含提供位置的字符
NSString *str16 = [str15 substringToIndex:4];
NSLog(@"%@",str16);
//從某個位置開始獲取字符串,直到父串的結尾,包含這個停工未知的字符
NSString *str17 = [str15 substringFromIndex:4];
NSLog(@"%@",str17);
//返回格式化拼接的字符串
NSString *str20 = [str16 stringByAppendingString:str17];
NSLog(@"%@",str20);
//練習3:把@“cang”后面 拼接上@“是你們的”
NSString *cangString = @"cang";
NSString *newString = [cangString stringByAppendingFormat:@"%@,%@",@"是你們的",@"不因不均"];
NSLog(@"%@",newString);
NSString *str18 = [cangString stringByAppendingString:@"是世界的"];
NSLog(@"%@",str18);
//字符串的替換
//將目標子串從父串中用我們給定的替換掉
NSString *str19 = [str18 stringByReplacingOccurrencesOfString:@"cang" withString:@"波多結衣"];
NSLog(@"%@",str19);
例子:
NSString *str21 = @"中國北京中南海";
//判斷字符串是否具有某個前綴或者后綴
BOOL isHas = [str21 hasPrefix:@"中國北京"];
NSLog(@"%@",isHas ? @"有這個前綴":@"沒有這個前綴");
BOOL Has = [str21 hasSuffix:@"南海"];
NSLog(@"%@",Has ? @"有這個后綴":@"無這個后綴");
例子:
//=============================================
//比較兩個字符串大小
NSString *sstr3 = @"NBa";
NSString *sstr4 = @"NBA";
NSInteger n = [sstr3 compare:sstr4];
switch (n) {
case NSOrderedAscending:
NSLog(@"%@ < %@",sstr3,sstr4);
break;
case NSOrderedSame:
NSLog(@"%@ = %@",sstr3,sstr4);
break;
case NSOrderedDescending:
NSLog(@"%@ > %@",sstr3,sstr4);
default:
break;
}
//不區分大小寫的比較方式
n = [sstr3 caseInsensitiveCompare:sstr4];
NSLog(@"%ld",n);
//===================================================
10、 NSMutableString 是可變字符串 ,繼承自Nsstring,所以Nsstring 所有的方法NSMutableString都可以調用
//這種創建字符串的形式可以提高一定的效率,如果存入的字符串小于開辟的虛擬空間長度,則直接放入,免去了開辟空間的時間,如果此時開辟的空間小于要放入字符串的長度,此時就要再開辟空間
NSMutableString *mStr = [[NSMutableString alloc]initWithCapacity:30];
//插入一個字符串
[mStr insertString:@"索寧" atIndex:0];
NSLog(@"%@",mStr);
//創建可變字符串的另一種形式
NSMutableString *mStr1 = [[NSMutableString alloc]initWithString:@"我和他有一個約會"];
NSLog(@"%@",mStr1);
//快速創建字符串,必須在后面加上 .mutableCopy
NSMutableString *mStr2 = @"我與僵尸有一個約會".mutableCopy;
NSLog(@"%@",mStr2);
11、 //可變字符串拼接
//格式化拼接
[mStr2 appendFormat:@"%@",@"在日本島" ];
NSLog(@"%@",mStr2);
//刪除某段字符串
[mStr2 appendString:@"吃著炸雞喝著啤酒"];
NSLog(@"%@",mStr2);
NSRange rang1 = {1,8};
[mStr2 deleteCharactersInRange:rang1];
NSLog(@"-----%@",mStr2);
//=========================================================
//改可變字符串
[mStr2 replaceCharactersInRange:NSMakeRange(2, 4)withString:@"任命廣場"];
NSLog(@"%@",mStr2);
//每個單詞的首字母大寫
NSMutableString *mStr3 = @"i am student come from DanCheng".mutableCopy;
NSString * upFirst = [mStr3 capitalizedString];
NSLog(@"%@",upFirst);
//將所有的字母都大寫
NSString *upAllWord = [mStr3 uppercaseString];
NSLog(@"%@",upAllWord);
//將所有字母都小寫
NSMutableString *mStr4 = @"I AM STUDENT COME FROM DANCHENG".mutableCopy;
NSString *loweAllWord = [mStr4 lowercaseString];
NSLog(@"%@",loweAllWord);
//================轉載請注明出處=================
轉自:http://blog.csdn.net/qq_31810357
總結
以上是生活随笔為你收集整理的NSString/NSMutable字符串——韩俊强…的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【iCore3 双核心板_ uC/OS-
- 下一篇: 查看mysql库和表的大小(空间)