关于NSString的练习题

  1. //1.现有如下定义的字符串: NSMutableString str=@“iphoneAndroid”,能不能对该字符串进行修改,如果能,请输出删除Android后的新字符串。  
  2.     NSMutableString *str=[NSMutableString stringWithCapacity:2];//创建一个可变的字符串  
  3.     [str appendString:@"iphoneAndroid"];//往字符串里赋值  
  4.     NSRange r={6,7};//截取字符串  
  5.     [str deleteCharactersInRange:r];//删除字符串  
  6.     NSLog(@"new str string id=%@",str);//输出字符串  
  7.     第二种方法
  8.    NSMutableString *str=[[NSMutableStringalloc]initWithString:@"iphoneAndroid"];//创建可变字符串并赋值
  9.    [str deleteCharactersInRange:NSMakeRange(6,7)];//删除从下标是6的位置,长度是7的字符串
  10.    NSLog(@"%@",str);
  11.     //2求字符串“158”和“39”按十进制数值做差后的结果以字符串形式输出  
  12.           
  13.     NSMutableString *str1=[NSString stringWithFormat:@"%@",@"158"];//定义字符串  
  14.     NSMutableString *str2=[NSString stringWithFormat:@"%@",@"39"];  
  15.     int a=[str1 intValue];//把字符串转换成 int型  
  16.     int b=[str2 intValue];  
  17.     NSMutableString *str3=[NSMutableString stringWithFormat:@"%d",(a-b)];//(a-b)结果 在格式化成字符串赋给str3  
  18.     NSLog(@"results:%@",str3);  
  19.    
  20.   第二种方法
  21.     NSMutableString *str1=[[NSMutableStringalloc]initWithString:@"158"];
  22.     NSMutableString *str2=[[NSMutableStringalloc]initWithString:@"39"];
  23.     int a=[str1 intValue];
  24.     int b=[str2 intValue];
  25.     NSMutableString *str3=[NSMutableStringstringWithFormat:@"%d",(a-b)];
  26.    NSLog(@"%@",str3);
     
  27.   //3取出符串“123-456-789-000”中的数字部分,组成一个新的字符串输出,(提示:可变字符串;返回数组)   
  28.      
  29. 第一种方法  
  30.    NSMutableString *str4=[NSMutableString stringWithCapacity:0];  
  31.                           [str4 appendString:@"123-456-789-000"];  
  32.     NSRange r1={0,3};  
  33.     NSRange r2={4,3};  
  34.     NSRange r3={8,3};  
  35.     NSString*str5=[str4 substringWithRange:r1];  
  36.     NSString*str6=[str4 substringWithRange:r2];  
  37.     NSString*str7=[str4 substringWithRange:r3];  
  38.       
  39.     NSMutableString *str8=[NSMutableString stringWithCapacity:0];  
  40.     [str8 appendString:@""];  
  41.     [str8 appendString:str5];//添加字符串  
  42.     [str8 appendString:str6];  
  43.     [str8 appendString:str7];  
  44.     NSLog(@"%@",str8);
  45.  
  46.     //第二种 方法  
  47.    
  48. NSString *str5=@"123-456-789-000";  
  49.     NSArray *newArray=[str5 componentsSeparatedByString:@"-"];//用什么 分开  
  50.     NSLog(@"%@",newArray);  
  51.     NSMutableString *newStr=[NSMutableString stringWithCapacity:0];  
  52.     for (NSString *s in newArray)// s是指向元素  
  53.      
  54.         [newStr appendString:s];  
  55.      
  56.     NSLog(@"newStr =%@",newStr); 
  57.  
  58.     //第三种方法  
  59.     NSString *str5=@"123-456-789-000";
  60.     NSString *newStr5=  [str5 stringByReplacingOccurrencesOfString:@"-" withString:@""];//替换法 把-替换成空
  61.      NSLog(@"newStr5=%@",newStr5);
  62.        
  63.     //4放四个十进制三位数到一个数组中,然后按从小到大排序后组成一个新的数组  
  64.       
  65.  NSMutableArray *numArray=[[NSMutableArray alloc]initWithObjects:@"114",@"159",@"210",@"999", nil];  
  66.  for (int i=0; i<</span>numArray.count; i++)  
  67.   
  68.       for (int j=(i+1); j<</span>4; j++)  
  69.       
  70.         int a=[[numArray objectAtIndex:i] intValue];//取值
  71.         int b=[[numArray objectAtIndex:i] intValue];  
  72.          if (a>b)  
  73.          
  74.          [numArray exchangeObjectAtIndex:i withObjectAtIndex:j];  
  75.           
  76.       
  77.   
  78.  NSLog(@"numArray =%@",numArray); 

第二种方法

  1. NSMutableArray*numArray=[[NSMutableArrayalloc]initWithObjects:@"114",@"159",@"210",@"999",nil];
  2. for (int i=0;i<[numArray count]; i++)//冒泡法比较
  3. {
  4.      for (int j=0; j<4-i; j++)
  5.      {
  6.        int a=[[numArray objectAtIndex:i] intValue]; //取值
  7.        int b=[[numArray objectAtIndex:i] intValue];
  8.        if (a>b)
  9.        {
  10.        [numArray exchangeObjectAtIndex:i withObjectAtIndex:j];
  11.       }
  12.      }
  13.   }
  14. NSLog(@"numArray=%@",numArray);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值