考核例题关于字符串

#define NSLog(FORMAT, ...) fprintf(stderr,"%s ",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    @autoreleasepool {

      /*

       第1题 字符串中的world替换为i bookan wisdom

       */

        

        NSString *str1=@"hello world and sunshine";

        NSRange rang1=[str1 rangeOfString:@"world"];

        

        NSMutableString *brr=[[NSMutableString alloc]init];

        

        brr=[[NSMutableString alloc]initWithString:str1];

        

        [brr replaceCharactersInRange:rang1 withString:@"i bookan wisdom"];

                 NSLog(@"%@",brr);

        /*

         第2题 字符串的相加,以字符串输出,并输出长度

         */

        NSString *str2=@"999";

        NSString *str3=@"888";

        NSString *st=[[NSString alloc]initWithFormat:@"%@%@",str2,str3];

        NSLog(@"%@",st);

        /*

         第3题 比较字符串大小

         */

        NSString *str4=@"ABC";

        NSString *str5=@"ABc";

         NSComparisonResult result1=[str4 compare:str5];

        if(result1==-1)

        {

            NSLog(@"str4小");

        }else if(result1==0)

        {

            NSLog(@"相等");

        }else

        {

            NSLog(@"str5小")

        }

        /*

         第4题 截取Android并输出

         */

        NSString *str6=@"iphoneAndroid";

        NSString *str11=[str6 substringFromIndex:6];

        NSLog(@"%@",str11);

        /*

         第5题 用c语言创建一个oc字符串,并输出。使用两种方法。

         

         */

        char *s="zhangsanfeng";

        NSString *t=[NSString stringWithFormat:@"%s",s];

        NSString *t1=[NSString stringWithUTF8String:s];

       

        NSLog(@"%@",t);

        NSLog(@"%@",t1);

        

        /*

         第6题 字符串内所有a都替换成A;

         */

        NSString *str7=@"whatareyou";

        NSString *newStr=[str7 stringByReplacingOccurrencesOfString:@"a" withString:@"A"];

        NSLog(@"str=%@",newStr);

        /*

         第7题 判断字符串是否以http开头

         */

        NSString *str8=@"http://www.sina.com.cn";

        BOOL r=[str8 hasPrefix:@"http"];

        if(r==0)

        {

            NSLog(@"NO");//不以http开头为NO

        }else

        {

            NSLog(@"YES");//如果是以http开头则YES,

        }

        /*

         第8题 将字符串内admin和123截取出来

         */

        NSString *str9=@"http://localhost:8099/test/user=admin&pwd=123";

        //方法一

        NSRange rang4;

        rang4.location=32;

        rang4.length=5;

        NSString *str13=[str9 substringWithRange:rang4];      //根据rang4截取第32位开始的5个字符

        

        

        NSRange rang6=[str9 rangeOfString:@"123"];//直接截取该字符串

         NSString *str14=[str9 substringWithRange:rang6];

        NSLog(@"%@",str13);

         NSLog(@"%@",str14);

        

        

        

        /*

         第9题 字符添加telephone:iphone iphone5修改为"telephone:iphone iphone4 iphone5 iphone6";

         */

        NSString *str10=@"telephone:iphone iphone5";

        NSMutableString *str16=[NSMutableString stringWithString:str10];

        [str16 insertString:@"iphone4 " atIndex:17];

        [str16 appendString:@" iphone6"];

        NSLog(@"%@",str16);

        

       /*

        第10题 排序

        */

        NSArray *arr=@[@"String 11",@"String 21",@"String 1",@"string 2",@"String 02"];

        NSArray *arr2=[arr sortedArrayUsingSelector:@selector(compare:)];//按字符串的ASCII码从小到大排序

        for(id str1 in arr2)

        {

            NSLog(@"%@",str1);

        }

        NSLog(@" ");

        //自定义排序——block(下面代码相当于冒泡排序)

        NSComparator sort1=^(id obj1,id obj2){      //传入两个数组中的元素

            NSComparisonResult result=[obj2 compare:obj1];

            return result;             //根据自己定义返回一定的值

        };

        NSArray *sort5=[arr sortedArrayUsingComparator:sort1];     //根据返回值排序

        for(id str2 in sort5){

            NSLog(@"%@",str2);

        }

/*第11题、字符串倒置*/

NSString *arr=@" abc123.xyz789";

        NSMutableArray *arr1=[[NSMutableArray alloc]init];

        for(NSInteger i=[arr length];i>0;i--)

        {

            NSRange rang=NSMakeRange(i-1, 1);

            NSString *arr3=[arr substringWithRange:rang];

            [arr1 addObject:arr3];

        }

        NSLog(@"%@",arr1);

/*12题、将2013年05月05日转换为2013-05-05*/

        NSString *arr=@"2013年05月05日";

        NSString *newStr=[arr stringByReplacingOccurrencesOfString:@"年" withString:@"-"];

         NSString *newStr1=[newStr stringByReplacingOccurrencesOfString:@"月" withString:@"-"];

         NSString *newStr2=[newStr1 stringByReplacingOccurrencesOfString:@"日" withString:@""];

        NSLog(@"%@",newStr2);

//13.将字典的key从Z->A排序,按排序后的key的顺序,输出value,将value按字符串输出

        NSDictionary *dict=@{@"R":@"e",

                             @"T":@"e",

                             @"D":@"b",

                             @"S":@"u",

                             @"K":@"a",

                             @"A":@"s",

                             @"O":@" ",

                             @"N":@"p",

                             @"B":@"b",

                             @"J":@"u",

                             @"F":@" ",

                             @"U":@"t",

                             @"H":@"l",

                             @"E":@"j",

                             @"Z":@"s",

                             

                             };

        NSArray *arr=[dict allKeys];

        NSComparator sort1=^(id obj1,id obj2){      //传入两个数组中的元素

            NSComparisonResult result=[obj2 compare:obj1];

            return result;             //根据自己定义返回一定的值

        };

        NSArray *sort2=[arr sortedArrayUsingComparator:sort1];     //根据返回值排序

        NSMutableArray *value=[[NSMutableArray alloc]init];

        for(NSMutableArray *v in sort2)

        {

            [value addObject:dict[v]];

        }

        NSString *brr=[[NSString alloc]init];

        for(NSString *w in value)

        {

            brr=[brr stringByAppendingString:w];

        }

        NSLog(@"%@",brr);

  //14、将一个整数123456789倒着输出

NSInteger i=123456789;

        NSString *str=[NSString stringWithFormat:@"%ld",i];

        NSLog(@"%@",str);

        NSMutableArray *str1=[[NSMutableArray alloc]init];

        for(NSInteger j=[str length];j>0;j--)

        {

            NSRange rang=NSMakeRange(j-1, 1);

            NSString *arr=[str substringWithRange:rang];

            

            [str1 addObject:arr];

        }

        NSLog(@"%@",str1);

//15.以下是身份证号,输出身份证人的性别,年龄

        NSString *idCard=@"210423198809040437";

        NSRange rang=NSMakeRange(6, 4);

        NSString *arr=[idCard substringWithRange:rang];

        NSLog(@"%@",arr);

 //16、身份证倒数第2位是偶数则为女生

        NSRange rang1=NSMakeRange(16, 1);

        NSString *a =[idCard substringWithRange:rang1];

        NSInteger b=[a intValue];

        if(b%2==0)

        {

        NSLog(@"女生");

        }else{

            NSLog(@"男生");

        }

//17、按ASCII从低到高输出数组中的字符串

        NSArray *array = @[@"Tim Cook",@"Jony Ive",@"Steve Jobs",@"Robert Brunne",@"Philip Schiller"];

        NSComparator sort1=^(id obj1,id obj2){      //传入两个数组中的元素

        NSComparisonResult result=[obj1 compare:obj2];

                return result;             //根据自己定义返回一定的值

                    };

        NSArray *sort2=[array sortedArrayUsingComparator:sort1];     //根据返回值排序

        for(id str2 in sort2){

            NSLog(@"%@",str2);

        }

//18、数组中元素的查找删除

        

        NSMutableArray *arr=[NSMutableArray array];

        for(int i=0;i<array.count;i++)

        {

            NSString *brr=array[i];

            if(![brr isEqual:@"Robert Brunne"])

            {

                [arr addObject:brr];

            }

        }

       // [arr removeObjectAtIndex:3];

        NSLog(@"%@",arr);

     

        

    }

    return 0;

}

原文地址:https://www.cnblogs.com/wuduo/p/5120124.html