OC字符串高级操作

来源:互联网 发布:在淘宝上开店收费吗 编辑:程序博客网 时间:2024/05/01 14:08
////  main.m//  OC第四讲////  Created by rimi on 16/8/2.//  Copyright © 2016年 lizhi. All rights reserved.//#import <Foundation/Foundation.h>void print();void print(){    NSLog(@"sdfdsf");}int main(int argc, const char * argv[]) {    @autoreleasepool {        // insert code here...        NSLog(@"Hello, World!");                #pragma mark -- NSString        NSString *string = [NSString stringWithFormat:@"123"];        NSString *string2 = [[NSString alloc]initWithFormat:@"234"];                NSComparisonResult result = [string compare:string2 options:NSNumericSearch | NSCaseInsensitiveSearch];                //NSComparisonResult 比较结果的枚举类型  NSStringCompareOptions比较策略的枚举类型        //NSNumericSearch 比较字符串的长度        //NSCaseInsensitiveSearch 大小写不敏感比较        //NSLiteralSearch 完全比较 比较大小写#pragma mark --字符串的替换        NSString *str = @"abcdecd";        //替换当前字符串里的所有该字符串        NSString *resultStr = [str stringByReplacingOccurrencesOfString:@"cd" withString:@"CD"];//abCDeCD        NSLog(@"%@",resultStr);                //替换范围里面的字符        resultStr = [str stringByReplacingCharactersInRange:NSMakeRange(2, 2) withString:@"CD"];//abCDecd        NSLog(@"%@",resultStr);                #pragma mark --大小写转换        NSString *string3 = @"hello woRld ";                //转换成大写        NSString *string4 = [string3 uppercaseString];        NSLog(@"%@",string4);               //转换成小写        string4 = [string3 lowercaseString];        NSLog(@"%@",string4);                //每个单词首字母大写        string4 = [string3 capitalizedString];        NSLog(@"%@",string4);                #pragma mark -- NSMutableString        NSMutableString *nsmutablestring = [NSMutableString stringWithFormat:@"123"];        //拼接        [nsmutablestring appendString:@"456"];        NSLog(@"%@",nsmutablestring);                //1.异常//        NSMutableString *mutable = @"123"; 不能用这种方式赋值  多态  @“123”就是NSString的stringWithString赋值                //2.异常        [nsmutablestring stringByAppendingString:@"789"];//还是123456 这种前面要有一个接受值得变量   应为调用的是父类的有返回值的方法        NSLog(@"%@",nsmutablestring);                //拼接        [nsmutablestring appendString:nsmutablestring];        NSLog(@"%@",nsmutablestring);                //拼接   位置拼接(位置插入)        [nsmutablestring insertString:@"hhhhhh" atIndex:4];        NSLog(@"%@",nsmutablestring);                //删除        [nsmutablestring deleteCharactersInRange:NSMakeRange(2, 2)];        NSLog(@"%@",nsmutablestring);                        //替换        [nsmutablestring replaceCharactersInRange:NSMakeRange(2, 2) withString:@"lizhi"];        NSLog(@"%@",nsmutablestring);             #pragma mark --NSNumber                //将基本数据类型转换为OC的对象数值类型        NSNumber *number = [NSNumber numberWithInt:325424];                NSNumber *number2 = @(12.5);//便利构造方法        NSLog(@"%@",number2);//保留有效的位数 12.5                //转换        float floatNumber = number2.floatValue;                //格式转换器        NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init];        //设置转换样式        formatter.numberStyle = NSNumberFormatterSpellOutStyle;        //设置转换类型        NSString *string11 = [formatter stringFromNumber:number];                NSLog(@"%@",string11);        //        string11 = [NSString stringWithFormat:@"%@",number];//        NSLog(@"aaa == %@",string11);                //字符串转换为number   上面是number转换为NSString        NSString *ss = @"123";        NSNumber *bb = [formatter numberFromString:ss];        NSLog(@"%@",bb);        #pragma mark --NSDate                //日期                NSDate *date = [NSDate date];//获取当前时间 该时间是  格林威治时间        NSLog(@"%@",date);                NSDate *date1 = [NSDate dateWithTimeIntervalSinceReferenceDate:3600];        // dateWithTimeIntervalSinceReferenceDate 以2001-1-1作为参照 然后再加上时间的偏移量        NSLog(@"%@",date1);                        //获取两个时间的间隔        /*         timeIntervalSinceDate         timeIntervalSince1970         timeIntervalSinceNow         timeIntervalSinceReferenceDate         */        NSTimeInterval timeInetrval = [date timeIntervalSinceDate:date1];                timeInetrval = [date timeIntervalSince1970];        timeInetrval = [date timeIntervalSinceNow];        timeInetrval = [date timeIntervalSinceReferenceDate];                        //时间比较 枚举类型  返回有三个值        NSComparisonResult resultDate = [date compare:date1];                if (resultDate == NSOrderedAscending) {            NSLog(@"前者值较小");        }else if (resultDate == NSOrderedSame){            NSLog(@"same");        }else if (resultDate == NSOrderedDescending){                    NSLog(@"前者值较大");        }                //bool值比较        if ([date isEqualToDate:date1] == 1) {            NSLog(@"相同");        }else{            NSLog(@"不同");        }        //比较2个日期  返回较早的那个日期        NSDate *earlierDate = [date earlierDate:date1];                //较晚        NSDate *laterDate = [date laterDate:date1];                                //日期和字符串之间的转换                //1.创建一个日期转换格式器        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];        //2.设置格式转换器的样式        [dateFormatter setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];//        [dateFormatter setDateStyle:NSDateFormatterMediumStyle];//        [dateFormatter setTimeStyle:NSDateFormatterMediumStyle];        //3.转换        NSString *dateString = [dateFormatter stringFromDate:date];        NSLog(@"%@",dateString);        //        dateString = @"2016-08-02 23:11:12";                //获取当前时间字符 类方法        dateString = [NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterMediumStyle];        NSLog(@"%@",dateString);                //获取当前时区:        NSTimeZone *timeZone = [NSTimeZone systemTimeZone];        //获取当前时区距离0时区间隔的秒数        NSTimeInterval interval = [timeZone secondsFromGMTForDate:date];        //当前时间+时间间隔        date = [date dateByAddingTimeInterval:interval];        NSLog(@"%@",date);                                                            }    return 0;}

0 0