Objective-C 字符串一 "不可变字符串"
2015-12-15 20:10
507 查看
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // NSString 不可变的字符串 // 1.初始化一个字符串 NSString *string1 = @"ibokanwisdom"; NSLog(@"string1 = %@",string1); //string1 = ibokanwisdom //使用NSString的类方法来创建字符串、 + (instancetype)stringWithFormat:@"格式化表示符" NSString *string2 = [NSString stringWithFormat:@"%d, %.1f, hi guys",5,4.5]; NSLog(@"string2 = %@",string2); //string2 = 5, 4.5, hi guys //+ (instancetype)stringWithFormat:@"格式化表示符" 还可以拼接字符串 NSString *string3 = @"Rick"; NSString *string4 = @"666"; NSString *string5 = [NSString stringWithFormat:@"%@,%@",string3, string4]; NSLog(@"string5 = %@",string5); //string5 = Rick,666 //从本地文件获取字符串 stringWithContentsOfFile // NSUTF8StringEncoding 代表中文 NSError *error; NSString *string6 = @"/Users/zyx/Desktop/hello.html"; NSString *string7 = [NSString stringWithContentsOfFile:string6 encoding:NSUTF8StringEncoding error:&error]; // NSLog(@"string7 = %@",string7); //从网络读取字符串 stringWithContentsOfURL NSURL *url = [NSURL URLWithString:@"www.baidu.com"]; NSString *string8 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; // NSLog(@"strint8 = %@",string8); //字符串的操作 NSString *string9 = @"你是逗逼吗、我都想打你了"; //字符串的属性 长度 length NSUInteger length = [string9 length]; NSLog(@"length = %ld",length); //length = 12 //字符串的截取 subStringToIndex NSString *string10 = [string9 substringToIndex:5]; //从起始位置0开始, NSLog(@"string10 = %@",string10); // string10 = 你是逗逼吗 NSString *string11 = [string9 substringFromIndex:6]; //从起始位置0到定义的位置X,从X开始 包含X 直到结束 NSLog(@"string11 = %@",string11); // string11 = 我都想打你了 NSString *string12 = [string9 substringWithRange:NSMakeRange(3, 3)]; //从起始位置0 定义N开始 长度M结束 NSLog(@"string12 = %@",string12); // string12 = 逼吗、 //获取某个字符 NSString *string13 = @"abcdefg"; // NSString *string14 = [string13 substringToIndex:3]; // NSLog(@"string14 = %@",string14); //string14 = abc char c = [string13 characterAtIndex:0]; //根据x数字 得到某个字符, 字符索引是从 0 开始 NSLog(@"c = %c",c); // c = a //比较字符串 如何判断字符串是否相等 if (string10 == string11) { NSLog(@"string10 和 string11 相等"); } else { NSLog(@"string10 和 string11 不想等"); } NSString *subString1 = [NSString stringWithString:string13]; NSLog(@"subString1 = %@",subString1); //subString1 = abcdefg if(string13 == subString1) { //内容和指针都相等时、才成立 NSLog(@" string13 == subString1 yes"); } else { NSLog(@"string13 == subString1 no"); } //在实际开发过程中,我们通常只需要比较两个字符串的内容是否相等 NSString *subString2 = [NSString stringWithFormat:@"%@",subString1]; NSLog(@"subString2 = %@",subString2); if ([subString1 isEqualToString:subString2]) { NSLog(@"相等"); } else { NSLog(@"不想等"); } //比较字符串的大小 NSString *compString1 = @"hahehehehe"; NSString *compString2 = @"hehehehehe"; NSComparisonResult resulr = [compString1 compare:compString2]; //compare 表示判断 switch (resulr) { case NSOrderedAscending: { NSLog(@"compString1 < compString2");} break; case NSOrderedSame: { NSLog(@"compString1 == compString2");} break; case NSOrderedDescending: { NSLog(@"compString1 > compString2");} break; default: break; } //根据字符串拿到对应的range //NSString *string9 = @"你是逗逼吗、我都想打你了"; NSRange range = [string9 rangeOfString:@"逗逼"]; //输出遇到该字符的 位置 以及 长度。从0开始 NSLog(@"range = %@",[NSValue valueWithRange:range]); //range = NSRange: {2, 2} // NSRange range1 = [string9 rangeOfString:@"你"]; NSLog(@"%@",[NSValue valueWithRange:range1]); //判断字符串是否有 xx前缀 或 xx后缀 NSString *string14 = @"http://www.baidu.com"; if ([string14 hasPrefix:@"http://"]) { NSLog(@"有前缀"); } else { NSLog(@"没有前缀"); } NSString *string15 = @"avacag.jpg"; if ([string15 hasSuffix:@".jpg"]) { NSLog(@"有后缀"); } else { NSLog(@"没有后缀"); } //字符串 拼接 NSString *string16 = @"www.baidu.com"; NSString *string17 = [@"http://" stringByAppendingString:string16]; //直接把两个字符串连接起来,调用者在前,传进来的字符串在后 NSLog(@"string17 = %@", string17); // string17 = http://www.baidu.com //http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg NSString *string18 = @"//http://img0.bdstatic.com/img/image/shouye"; NSString *string19 = @"hbmnp003.jpg"; NSString *string20 = [string18 stringByAppendingFormat:@"/%@",string19]; //按照一定的格式拼接 NSLog(@"string20 = %@",string20); //string20 = //http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg NSString *string21 = [string18 lastPathComponent]; //打印最后一个 ’/‘ 后面字符串 NSLog(@"string21 = %@",string21); //string21 = shouye NSString *string22 = @"Rick"; NSString *string23 = @"666"; NSString *string24 = [string22 stringByAppendingFormat:@".%@",string23]; NSLog(@"string24 = %@",string24); //string24 = Rick.666 NSString *string25 = [string22 stringByAppendingPathExtension:string23]; NSLog(@"string25 = %@",string25); //string25 = Rick666 //字符串的其他用法 NSString *stu1 = @"111abcd333"; int a1 = [stu1 intValue]; NSLog(@"%d",a1); double b1 = [stu1 doubleValue]; NSLog(@"%lf",b1); float c1 = [stu1 floatValue]; NSLog(@"%f",c1); NSString *str1 = @"aaabbb"; NSString *str2 = [str1 uppercaseString]; //将字符全部换成大写 NSLog(@"str2 = %@", str2); //str2 = AAABBB NSString *str3 = [str1 lowercaseString]; //将字符全部换成小写 NSLog(@"str3 = %@",str3); //str3 = aaabbb NSString *str4 = [str1 capitalizedString]; //将首字母换成大写,其余的都是小写 NSLog(@"str4 = %@",str4); //str4 = Aaabbb //字符串替换函数 NSString *str5 = [str1 stringByReplacingOccurrencesOfString:@"b" withString:@"d"]; //替换 NSLog(@"str5 = %@",str5); //str5 = aaaddd NSString *str6 = [str1 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"cc"]; //将原字符串中range范围内的内容替换成replacement的内容 NSLog(@"str6 = %@",str6); //str6 = accbbb NSString *str7 = @"aa-bb-cc-dd"; NSArray *array = [str7 componentsSeparatedByString:@"-"]; NSLog(@"array = %@", array); // array = ( // aa, // bb, // cc, // dd // ) } return 0; }
相关文章推荐
- Objective-C 字符串二 "可变字符串"
- (Foundation)NSObject 、 NSString 、 NSMutableString
- Objective-c---分类 、 扩展 、 ARC
- Objective-C语言介绍 、 Objc与C语言 、 面向对象编程 、 类和对象 、 属性和方法 、 属性和实例变量
- Objective-C--- 多态 、 协议
- Objective-C对象初始化 、 实例方法和参数 、 类方法 、 工厂方法 、 单例模式
- Objective-C----MRC内存管理 、 自动释放池 、 面向对象三大特性及封装 、 继承 、 组合与聚合
- Objective-C对象初始化 、 实例方法和参数 、 类方法 、 工厂方法 、 单例模式
- Objective-C语言介绍 、 Objc与C语言 、 面向对象编程 、 类和对象 、 属性和方法 、 属性和实例变量
- ArcEngine(ArcObjects) java开发环境配置
- Android学习第七天————将数据保存为JSON格式,通过JSONObject和JSONReader来解析JSON数据
- a different object with the same identifier value was already associated with the session
- Object类
- for,for-in和enumerateObjectsUsingBlock的比较
- python 安装pandas 出现InsecurePlatformWarning: A true SSLContext object is not available.
- Objective-c语言_复合
- 显示所有数据库 mysql_fetch_object()
- Objective-c语言_对可变数组NSMutableArray
- Objective-c语言_对不可变数组NSArray
- java泛型与object的比较