A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

NSString字符串(黑马) - OC创建字符串的4种方法    NSString *s = @"这个是第一种";   //1.特殊用法    NSString *s1 = [NSString new];    s1 = @"这是第二种";    NSLog(@"%@",s1);    //2.理论用法    for (int i = 0; i<10; i++) {        NSString *imgName = [NSString stringWithFormat:@"xxxxx%02d.jpg",i];        NSLog(@"%@",imgName);   //3.格式化创建字条串    }    //4.用一个已经存在的字符串创建一个样的字符串    NSString *s2 = [[NSString alloc]initWithString:s1];    NSLog(@"s2 = %@",s2);
NSString字符串长度计算(length方法)NSString *str = @"ican";   NSUInteger len = [str length];    NSLog(@"str length:%ld",len);   //一定是%ld,打印4
NSString字符串:取出对应位置的字符unichar ch = [str characterAtIndex:0]    //取出字符串str下标为0的对应字符,返回unichar类型值NSString字符串:比较字符串大小
  • 无条件
      //compare 方法返回结果有3种:NSOrderedAscending(升序「-1」),NSOrderedSame「0」,NSOrderedDescending(降序「1」)  NSString *str1 = @"abc";  NSString *str2 = @"bcd";  NSComparisonResult result = [str1 compare:str2];  printf("%ld",result);    //打印结果为-1(升序)
  • 有条件(可以有多个条件)
/*compare 常用的3个条件:        NSCaseInsensitiveSearch:不区分大小写字符        NSLiteralSearch:进行完全比较,区分大小写(默认)        NSNumericSearch:比较字符串的字符个数,而不是字符值     */    NSString *str1 = @"abc";    NSString *str2 = @"Abc";    //可以添加多个比较条件    NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch];    printf("%ld",result);    //打印结果为0NSString字符串:判断字符串是否相等[str1 isEqualToString:str2]   //返回BOOL值NSString字符串前后缀检查
  • 前缀
    NSString *url = @"https://ios,itcast.cn";  //检测一个字符串的前缀是否是http://或者https://开头  //[str hasPrefix:@"要检测的内容"];  if ([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]) {      printf("这是一个网址");  }else{      printf("这不是一个网址");  }
  • 后缀
      NSString *imgName = @"xxxxx.jpg";  //检测一个字符串的后缀是否是.jpg  //[str hasSuffix:@"要检测的内容"];  if ([url hasSuffix:@".jpg"]) {      printf("这是一个jpg图片");  }else{      printf("这不是一个jpg图片");  }NSString字符串的查找
  • 查找某个字符串在另外一个字符串中首次出现的位置
    NSString *str1= @"slkioslkgilkdiosflgkhldsiosfndslfdsn";  NSString *str2= @"ios";  //查找2在1中首次出现的位置  //range 结构体变量 NSRange 结构体别名  //如果查找不到location返回NSNotFound,length返回0  NSRange range = [str1 rangeOfString:str2];  NSLog(@"%lu,%lu",range.location,range.length);把结构体转换成NSString类型NSLog(@"%@",NSStringFromRange(r4)); //r4为结构体变量字符串的截取  -(NSString *)substringFromIndex:(NSUInteger)from;   从**指定位置**from开始(包括指定位置的字符)到尾部   -(NSString *)substringToIndex:(NSUInteger)to;   从字符串的开头一直截取到**指定的位置**to,但不包括该位置的字符   -(NSString *)substringWithRange:(NSRange)range;   按照所给出的NSRange从字符串中截取字符串    如:[str substringWithRange:NSMakeRange(4,10)];//不清楚就看NSRange的概念和使用NSString字符串的替换  -(NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *) replacement  //用replacement替换target,返回替换后的字符串
NSString和其他类型的转换NSString *str = @"1";    int a = 19;    //把字符串类型转换成其他类型    int b = [str intValue];  //intValue,floatValue,doubleValue    sum = a+b;NSString去除首尾空格[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];//返回去除后的字符串
//其他参数:

屏幕快照 2015-09-04 22.13.54.png

  • OC字符串和C字符串的互相转换
      char *s = "zhangsanfeng";  printf("%s\n",s);  //用C语言创建一个OC的字符串  NSString *str = [NSString stringWithUTF8String:s];  //相反的用[str2 UTF8String]  NSLog(@"str = %@",str);


2 个回复

倒序浏览
在这边总是感觉很乱。
这个排版会清楚一点,http://www.jianshu.com/p/b6ca2f673ff9
回复 使用道具 举报
内容很不错,就是需要排版一下,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马