代码改变世界

NSString

2015-08-25 10:37  TemptationM  阅读(102)  评论(0)    收藏  举报
一:创建字符串
1>  NSString *str1 = @"haha”;//直接创建
 
2>  NSString *str2 = [[NSString alloc]init];//先开辟空间  在赋值
      str2 = @"df";
3>  NSString *str3 = [NSString string];//利用方法创建对象  然后赋值
    str3 = @"dsfa";
 
二: 在字符串中加一些基本数据类型数字
1> 自定义初始化写法  (可以将整型数字转换为字符串数字)
      NSInteger num = 20;
     NSString *str4 = [[NSString  alloc]initWithFormat:@"today%@", num, str3];
        NSLog(@"%@", str4);
 
2> 便利构造器方法
      NSString *str5 = [NSString  stringWithFormat:@"今天%@", @"周四" ];
    NSLog(@"%@", str5);
 
三: 将C语言字符串转换为OC字符串
1>   利用方法
     char name[] = "myname";
    NSString *str6 = [NSString  stringWithUTF8String:name];
2> 利用OC转码表
     NSString *str7 = [NSString stringWithCString:name encoding:NSUTF8StringEncoding];
 
 
四. 字符串的拼改剪插
1> 获取字符串长度
NSString *str = @"中文字符✨✨✨nothing is impossible";
unsigned long len = [str length];
 NSLog(@"%lu", len);
 
2> 判断字符串的前缀和后缀  hasPrefix :前缀     hasSuffix : 后缀
      NSString *strUrl = @"http:// www.baidu,com";
    //hasPrefix 用来判断字符串是否以某字符串开头, 如果是, 返回YES, 否则返回NO;
      BOOL isStart =  [strUrl hasPrefix:@"http"];
    NSLog(@"%d", isStart);
 
3> 查找字符串中是否含有某个字符串   rangOfString
     1⃣通过rangeOfString方法得到的  location确定字符串起始位置的下标, 获取length长度的子字符串,
     2⃣NSRange :结构体 location  length
NSString *string1 = [[NSString alloc]initWithFormat:@"小明, 红, 强, 哈哈”//创建字符串
NSRange range = [string1  rangeOfString:@“强”]//这个方法返回的是一个结构体 所以要创建结构体接收
NSLog(@"location:%lu, length:%lu", range.location, range.length);
 
4>字符串截取  substringFromIndex  substringToIndex  substringWithRange  //这些方法返回的都是字符串
 
1⃣️substringFromIndex : 从下标index一直到字符串最后(包含下标index)  例:@“dggsad”下标表示如下:@“d1g2g3s4a5d6"
    NSString *divString  = @"what a day beautiful day”; //创建字符串(一下以这个字符串为例)
     NSString *newString = [divString substringFromIndex:7];    //方法实现
 
2⃣️substringToIndex : 从字符串开头开始一直到下标index(不包含下标index);
  NSString *twoString = [divString substringToIndex:7];  //方法实现
 
3⃣️substringWithRange : 截取给定范围的字符串
//获取范围  NSMakeRange(loc, len)
     NSRange startToEnd = NSMakeRange(0, 4);
     NSString *newStart2 = [divString  substringWithRange:startToEnd];//这个方法要传入下标 和 长度
     NSLog(@"%@", newStart2);
 
5> 字符串拼接    
  1⃣️stringByAppendingString : 在给定的字符串后面拼接一个字符串  此方法返回的是一个字符串
  NSString *append = [divString  stringByAppendingString:@"yes"];
 
  2⃣️ 在给定字符串后拼接上给定格式的字符串  此方法返回的是一个字符串
NSString *appendStr =  [divString stringByAppendingFormat:@"%d", 21];
 
     
6>字符串代替
1⃣️ stringByReplacingOccurrencesOfString : 把字符串中出现的所有要替换的字符串给替换成新的给定字符串           此方法返回的是一个字符串         (用于代替字符串中的所有想要代替的子字符串)
NSString *girl =  [divString stringByReplacingOccurrencesOfString:@"day" withString:@"girl"];
 
2⃣️在给定下标 和 长度两个参数的情况下代替  (用于代替字符串中的某一个想要代替的子字符串)
NSString *replace = [divString stringByReplacingCharactersInRange:NSMakeRange(0, 4) withString:@"it's"];
 
 
7>字符串比较        (用于比较字符串大小   与  C语言中的字符串比较相同  比较字母大小)
        NSString *cmp1 = @"hello";
        NSString *cmp2 = @"how";
    NSComparisonResult result = [cmp1 compare:cmp2];
 
    switch (result) {
        case NSOrderedAscending:
            NSLog(@"cmp2大于cmp1");
            break;
        case NSOrderedSame:
            NSLog(@"两者想等");
            break;
        case NSOrderedDescending:
            NSLog(@"cmp1大于cmp2");
            break;
        default:
            break;
    }
8>判断字符串是否相等
BOOL right = [cmp2 isEqualToString:@"hello"];
    NSLog(@"%d",right);
 
 
9> 字符串中的字母大写  和  小写
NSString *tmpStr = @"i will be the Best”;//创建字符串
1⃣️ lowercaseString //大写字母全都换成小写字母
     NSString *newTep = [tmpStr lowercaseString];
 
2⃣️ uppercaseString//小写字母全都换成大写字母
     NSString *upStr = [tmpStr uppercaseString];
 
3⃣️ capitalizedString//字符串单词的首字母全都大写
      NSString *capStr = [tmpStr capitalizedString];
 
 
10>数字字符串转换为数字
NSString *numStr = @"234”;//创建数字字符串
1⃣️数字字符串 转换为长整型数
     NSInteger number = [numStr integerValue];
 
2⃣️数字字符串 转换为整型
     int a = [numStr intValue];
 
3⃣️数字字符串 转换为浮点型
      float b = [numStr floatValue];
 
 
11>可变字符串   NSMutableString  返回的是一个可变字符串
[mutStr appendString:@"add”];//创建字符串
1⃣️在字符串后添加
[mutStr appendFormat:@"%d",10];
 
2⃣️删除给定范围的字符串
[mutStr deleteCharactersInRange:NSMakeRange(0, 3)];
 
3⃣️删除给定的字符串
[str replaceOccurrencesOfString:@"-" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, str.length)];
//用@“”空字符替换掉@“-“     options:以哪种搜索方式搜索   NSLiteralSearch:逐个搜索的方式  rang:范围
  
 
3⃣️在给定范围内插入给定的一个字符串
[mutStr insertString:@"string" atIndex:0];
 
4⃣️在给定范围内替换给定的字符串
[mutStr replaceCharactersInRange:NSMakeRange(6, 2) withString:@"New"];
 
 
 
五 替换整个字符串
[mutStr setString:@"New string"];