1.創(chuàng)建常量字符串
//通過這種方式創(chuàng)建的字符串只能是不可變的
NSString*str1 =@"不可變的OC字符串";
/*****通過對象方法(實例方法)創(chuàng)建********/
//2.通過str1去創(chuàng)建str2
NSString*str2 = [[NSStringalloc]initWithString:str1];
NSLog(@"str1 = %@,str2 = %@",str1,str2);
//3.把C字符串轉(zhuǎn)換成OC字符串
NSString*str3 = [[NSStringalloc]initWithUTF8String:"WHiOS1603"];
NSLog(@"str3 = %@",str3);
//4.**重點掌握**
//通過格式符去創(chuàng)建(拼接)字符串
NSString*str4 = [[NSStringalloc]initWithFormat:@"%d-%.2f-%c-%s",100,3.1415926,'S',"SY"];
NSLog(@"str4 = %@",str4);
/******通過類方法創(chuàng)建字符串對象******/
NSString*str5 = [NSStringstringWithString:str1];
NSString*str6 = [NSStringstringWithUTF8String:"Hello OC"];
NSString*str7 = [NSStringstringWithFormat:@"拼接字符串:%.2f--%c--%d",3.1415,'A',10];
NSLog(@"str5 = %@",str5);
NSLog(@"str6 = %@",str6);
NSLog(@"str7 = %@",str7);
/*****把OC字符串對象轉(zhuǎn)換成基礎(chǔ)數(shù)據(jù)類型*****/
NSString*str =@"3.1415926";
//1.轉(zhuǎn)換成int類型
int a = str.intValue;
//2.NSInteger 32->int 64->long
NSIntegerinteger = str.integerValue;
NSLog(@"a = %d",a);
NSLog(@"integer = %ld",integer);
//3.轉(zhuǎn)換成BOOL類型YES 1,NO 0
BOOLbl = str.boolValue;
NSLog(@"bl = %d",bl);
//4.把OC字符串轉(zhuǎn)換成C字符串
constchar*s = [strUTF8String];
NSLog(@"s = %s",s);
/**返回字符串的長度**/
//NSUInteger 32->無符號整型64->無符號長整型
NSUIntegerlen =[strlength];//OC字符串沒有尾零
NSLog(@"len = %ld",len);
//取出字符串中的單個字符,unichar就代表c中的char
unicharc = [strcharacterAtIndex:5];
NSLog(@"c = %c",c);
NSString*str1 =@"abcd2017ZXCV";
NSString*subStr1 =@"2017";
1.字符串的查找(查找子串在父串中的位置和范圍)NSRang
//NSRange是一個結(jié)構(gòu)體幔睬,包含了location和length兩部分
//location子串在父串中的起始位置length子串的長度
NSRangerange = [str1rangeOfString:subStr1];
NSLog(@"location:%ld length:%ld",range.location,range.length);
//通過length的值來判斷是否查找成功
if( range.length>0) {
NSLog(@"找到了");
}else{
NSLog(@"父串中沒有該字符串");
}
2.字符串的提取
//從某個位置開始一直截取到字符串結(jié)尾
NSString*subStr2 = [str1substringFromIndex:8];
NSLog(@"subStr2 = %@",subStr2);
//從開始位置截取嵌戈,截取到某個位置(注:但不包含截取到的這個位置)
NSString*subStr3 =[str1substringToIndex:4];
NSLog(@"subStr3 = %@",subStr3);
//NSRange rg = {4,6};
NSRangerg =NSMakeRange(4,6);
NSString*subStr4 =[str1substringWithRange:rg];
NSLog(@"subStr4 = %@",subStr4);
/*****字符串的比較*****/
NSString*str1 =@"SSY2017OBJC";
NSString*str2 =@"sSY2017OBJC";
//1.判斷兩個字符串是否相等
BOOLbl = [str1isEqualToString:str2];
if(bl ==YES) {
NSLog(@"相等进陡!");
}else{
NSLog(@"不相等");
}
//2.比較兩個字符串的大小
NSComparisonResultresult =[str1compare:str2];
/*
NSOrderedAscending遞增
NSOrderedSame相等
NSOrderedDescending遞減
*/
if(result ==NSOrderedAscending) {
NSLog(@"str1小于str2");
}elseif(result ==NSOrderedSame){
NSLog(@"str1等于str2");
}else{
NSLog(@"str1大于str2");
}
//3.不區(qū)分大小寫比較兩個字符串的大小
NSComparisonResultresult2 =[str1caseInsensitiveCompare:str2];
if(result2 ==NSOrderedAscending) {
NSLog(@"str1
}elseif(result2 ==NSOrderedSame){
NSLog(@"str1=str2");
}else{
NSLog(@"str1>str2");
}
/**字符串大小寫轉(zhuǎn)換**/
NSString*string =@"abcdxyz";
//轉(zhuǎn)換成大寫
NSString*uppStr = [stringuppercaseString];
NSLog(@"uppStr = %@",uppStr);
//大寫轉(zhuǎn)小寫
NSString*lowStr =[uppStrlowercaseString];
NSLog(@"lowStr = %@",lowStr);
//首字母大寫,其余全部小寫
NSString*capStr =[stringcapitalizedString];
NSLog(@"capStr = %@",capStr);
/**判斷字符串的前后綴**/
NSString*string1 =@"shisiheng2017.txt";
NSString*preStr =@"shi";
NSString*suffStr =@".txt";
//1.判斷前綴
BOOLrect1 = [string1hasPrefix:preStr];
if(rect1) {
NSLog(@"是前綴");
}else{
NSLog(@"不是前綴");
}
//2判斷后綴
BOOLrect2 = [string1hasSuffix:suffStr];
if(rect2) {
NSLog(@"是后綴");
}else{
NSLog(@"不是后綴");
}
/**字符串的各種拼接**/
//1.在原來的字符串的基礎(chǔ)上蕾殴,接著往后拼接,返回拼接之后的新字符串
NSString*string2 =@"Hello,Girl!";
NSString*newStr1 = [string2stringByAppendingString:@" I Love You!!!"];
NSLog(@"newStr1 = %@",newStr1);
//2.格式符拼接
NSString*newStr2 = [string2stringByAppendingFormat:@"%d-%@",999,@"~玫瑰~"];
NSLog(@"newStr2 = %@",newStr2);
//3.拼接路徑(默認加上/)
NSString*newStr3 = [string2stringByAppendingPathComponent:@"love.ppt"];
NSLog(@"newStr3 = %@",newStr3);
//1創(chuàng)建一個空的字符串@""
NSMutableString*mStr1 = [[NSMutableStringalloc]init];
NSMutableString*mStr2 = [NSMutableStringstring];
//2.創(chuàng)建一個預(yù)設(shè)大小的可變字符串
NSMutableString*mStr3 = [[NSMutableStringalloc]initWithCapacity:20];
NSMutableString*mStr4 = [NSMutableStringstringWithCapacity:10];
//3.通過不可變字符串創(chuàng)建出一個可變字符串(把不可變字符串轉(zhuǎn)換成可變字符串)
NSString*str =@"我是字符串";
NSMutableString*mStr5 = [[NSMutableStringalloc]initWithString:str];
NSMutableString*mStr6 = [NSMutableStringstringWithString:str];
NSLog(@"mStr1 = %@",mStr1);
NSLog(@"mStr2 = %@",mStr2);
NSLog(@"mStr3 = %@",mStr3);
NSLog(@"mStr4 = %@",mStr4);
NSLog(@"mStr5 = %@",mStr5);
NSLog(@"mStr6 = %@",mStr6);
//**增**//
//1.在指定的位置插入新的字符串
[mStr6insertString:@"我們"atIndex:2];
NSLog(@"mStr6 = %@",mStr6);
//2.在原來的字符串的基礎(chǔ)上追加一個字符串
[mStr6appendString:@"-可變字符串"];
NSLog(@"mStr6 = %@",mStr6);
//3.在原來的字符串的基礎(chǔ)上格式符追加
[mStr6appendFormat:@"%s","NSMutableString"];
NSLog(@"mStr6 = %@",mStr6);
//**刪除**//
//刪除指定范圍的字符串
NSRangerange = {6,3};
[mStr6deleteCharactersInRange:range];
NSLog(@"mStr6 = %@",mStr6);
//**修改**//
//1替換掉指定范圍的字符串
NSRangerange1 = {0,2};
[mStr6replaceCharactersInRange:range1withString:@"現(xiàn)在"];
NSLog(@"mStr6 = %@",mStr6);
//2.直接用一個新字符串全部替換掉原來的字符串
NSString*newStr =@"這都是什么鬼!";
[mStr6setString:newStr];
NSLog(@"mStr6 = %@",mStr6);