//字符串用法
/*_________________________NSString(不可變字符串)___________________________*/
//---------------(1)字符串創(chuàng)建--------------------//
//創(chuàng)建一個(gè)字符串常量
NSString *string1 = @"hello";
string1 = @"hello world";
NSLog(@"%@",string1);
//創(chuàng)建字符串
NSString*string2 = [[NSString alloc] initWithString:@"hello"];
//initWithFormat:多個(gè)字符串拼接
NSString *string3 = [[NSString alloc] initWithFormat:@"hello %@",string2];
NSLog(@"string2 = %@",string2);
NSLog(@"string3 = %@",string3);
NSString *ss1 = [[NSString alloc] initWithFormat:@"ZHANGsan"];
NSString *ss2 = [[NSString alloc] initWithFormat:@"zhangsan"];
NSLog(@"[ss1 case In sensitive Compare:ss2]:%ld",[ss1 case In sensitive Compare:ss2]);
//創(chuàng)建空的字符串
NSString*string4 = [[NSString alloc] init];//等價(jià)于string4 = @"";
//stringWithFormat:使用類方法創(chuàng)建字符串對(duì)象
//NSString *string5 = [NSString stringWithString:@"hello"];? //等價(jià)于string5 = @"hello";
NSString*string6 = [NSStringstringWithFormat:@"hello %@",@"world"];
//使用格式化符拼接數(shù)值
int number = 101;
NSString *string7 = [NSString stringWithFormat:@"class:%d",number];
NSLog(@"string7=%@",string7);
//---------------(2)字符串的比較--------------------//
NSString *s0 =@"無聯(lián)";
//? ? NSString *s11 = @"無聯(lián)"; ? //s0與s11的指針地址是一樣的,指向的都是常量區(qū)同一個(gè)字符串對(duì)象
NSString *s1 = [NSString stringWithFormat:@"無聯(lián)"];
NSString *s2 = [[NSString alloc] initWithFormat:@"無聯(lián)"];
//判斷s1與s2的指針地址是否相等
if(s0 == s2) {//不相等,因?yàn)槭莾蓚€(gè)對(duì)象,指針地址不一樣
NSLog(@"s0 == s2");
}
//isEqualToString:是比較兩個(gè)字符串內(nèi)容是否相同
if([s0 isEqualToString:s2]) {
NSLog(@"s0與s2的字符串內(nèi)容相同");
}
NSObject *obj1;
NSObject *obj2;
NSString *string8 =@"a";
NSString *string9 =@"A";
//compare:比較字符串的大小
NSComparisonResultresult = [string8 compare:string9];
if(result ==NSOrderedAscending) {//結(jié)果為升序
NSLog(@"string8 < string9");
}elseif(result ==NSOrderedSame) {
NSLog(@"string8 string9內(nèi)容一樣");
}elseif(result ==NSOrderedDescending) {
NSLog(@"string8 > string9");
}
//---------------(3)字符串的其他用法--------------------//
//length:獲取字符串的長(zhǎng)度
NSString *string10 =@"abcdef";
NSInteger len = [string10 length];
NSLog(@"len = %ld",len);
NSString *string11 =@"hELlo";
//uppercaseString:將字符串中的字母轉(zhuǎn)成大寫
NSLog(@"upper:%@",[string11 uppercaseString]);
//uppercaseString
NSLog(@"lower:%@",[string11lowercaseString]);
//capitalizedString:首字母大寫,其他字母小寫
NSLog(@"capitalized:%@",[string11 capitalizedString]);
//將字符串轉(zhuǎn)成基本數(shù)據(jù)類型
NSString *string12 =@"3.14";
//float f = (float)string12;? //錯(cuò)誤
//floatValue:字符串中是一個(gè)浮點(diǎn)數(shù)值轉(zhuǎn)成float
floatf = [string12 floatValue];
NSLog(@"floatValue:%f",f);
NSString *string13 =@"1";
BOOL bo = [string13 boolValue];//true
//---------------(4)字符串截取--------------------//
NSString *string14 =@"abcdef";
//---------------(4)字符串截取--------------------//
NSString *substring1 = [string14 substringToIndex:3];
NSLog(@"substringToIndex:%@",substring1);
//substringFromIndex:從指定索引位置開始截取到末尾,包含指定的索引
NSString *substring2 = [string14substringFromIndex:1];
NSLog(@"substringFromIndex:%@",substring2);
NSRange rang = {2,3};//2:指定位置3:需要截取的長(zhǎng)度
//substringWithRange:截取指定范圍的字符串
NSString*substring3 = [string14 substringWithRange:rang];
NSLog(@"substringWithRange:%@",substring3);
//---------------(5)拼接字符串--------------------//
NSString *str1 =@"Hello";
NSString *str2 =@"World";
NSString *str3 =@"OC!";
NSString *string15 = [NSStringstringWithFormat:@"%@-%@-%@",str1,str2,str3];
NSLog(@"string15:%@",string15);
//字符串追加
NSString *string16 = [string15 stringByAppendingString:@"-iOS"];
NSString *string17 = [string15 stringByAppendingFormat:@"%@,%@",@"iOS",@"iPhone"];
NSLog(@"string16:%@",string16);
NSLog(@"string17:%@",string17);
//字符串追加
NSString *link =@"www.iphonetrain.com/.html";
//rangeOfString:查找字符串所在的位置
NSRange linkRang = [linkrange OfString:@"html"];
if(linkRang.location!=NSNotFound) {
NSLog(@"location:%ld,length:%ld",linkRang.location,linkRang.length);
}
//例如:能查找到@163.com,說明此郵箱是網(wǎng)易郵箱
//NSString *email = @"12345@163.com";
/*___________________________NSMutableString(可變字符串)__________________________*/
//NSMutableString *mutableString1 = @"string";錯(cuò)誤
NSMutableString*mutableString1 = [[NSMutableString alloc] initWithFormat:@"字符串"];
//insertString:在原有的字符串基礎(chǔ)上插入字符串
[mutableString1 insertString:@"可變" atIndex:0];
NSLog(@"mutableString1:%@",mutableString1);
NSMutableString *mutableString2 = [NSMutableString stringWithFormat:@"字符符符串"];
//rangeOfString:查找指定字符串所在的范圍
NSRange rang3 = [mutableString2 rangeOfString:@"符符"];
//deleteCharactersInRange:根據(jù)范圍刪除指定的字符串
[mutableString2 deleteCharactersInRange:rang3];
NSLog(@"mutableString2:%@",mutableString2);
NSMutableString *mutableString3 = [NSMutableString stringWithFormat:@"字符串"];
NSRange rang4 = [mutableString3 rangeOfString:@"字符"];
//replaceCharactersInRange:withString:字符串替換
[mutableString3 replaceCharactersInRange:rang4
withString:@"羊肉"];
NSLog(@"mutableString3:%@",mutableString3);
return0;
}