NSString lesson04

/*
 如何学好IOS开发:
 1.学会使用苹果提供的官方文档
 2.对于方法的学习记忆:多练 多敲 多尝试
 3.查看资料
 4.对于新方法,要多总结,做详细注释
 5.养成好的习惯,多调bug,积累报错,崩溃等额的情况
 6.分享
 */
 
一.字符串NSString 不可变类字符串类
1.创建一个字符串对象
 1)直接创建
   NSString *str = @“wanghui"
 2)初始化方法
   NSString *str1 = [[NSString alloc]initWithString:@“hello"];
 3)便利构造器
   NSString *str2 = [NSString stringWithString:@“hello"]; 
  4)format 格式
NSString *str1 = [[NSString alloc]initWithFormat:@“hello"];
2.基本数据类型用到字符串中
NSInteger age = 20;
NSString *str3 = [[NSString alloc]initWithFormat:@“%@今年%ld岁”,@“天天”,age];
NSLog(@“str3 = %@“,str3);
3.把C语言中的字符串转为oc中的字符串对象
char c[] = “string”;
NSString *str = [[NSString alloc] initWithCString:c ending:NSUTF8StringEncoding];
NSLog(@“str = %@“,str);
 
4.字符串长度 length
NSInteger l = [str1 length];
NSLog(@“%lu”,l);
  1)表情字符至少占2个字节
  1>前缀和后缀
NSString *urlStr = @“http//www.baidu.com”;
//hasPrefix 该方法用来判断字符串前缀,即字符串是否以某字符开头,返回值类型BOOL,若为真,说明该字符串是以此为前缀开头
BOOL isPrefix =  [urlStr hasPrefix:@"http"];
 NSLog(@"%d",isPrefix);
       
  //hasSuffix:判断字符串后缀
BOOL isSuffix = [urlStr hasSuffix:@"com"];
 NSLog(@"%d",isSuffix);
 
2>判断字符串是否相等 isEqualToString
BOOL isEque = [str1 isEqualToString:@“www"];
NSLog(@“%d”,isEque);
 
3>字符串比较 compare
NSString *com1 = @“hello”;
NSString *com2 = @“how”;
NSComparisonResult result = [com1 compare:com2];
  switch (result) {
case NSOrderedAscending:
    NSLog(@“com2 > com1");
         break;
case NSOrderedSame:
    NSLog(@“com1 = com2");
         break;
case NSOrderedDescending:
    NSLog(@“com1 > com2");
         break;   
  }
 
4>搜索 字符串的范围
 rangeOfString: 用来求字符串中子字符串的范围
//NSRange 结构体(location length)
//location:子字符串所在的下标起始位置,以遇到的第一个子字符串为准。
//length:是子字符串的长度, 如果不存在此字符串,那么字符串长度为0,可以通过length来判断
if (range.length != 0) {
NSLog(@“我们找到这个字符串了”);
} else {
NSLog(@“没有这个字符串");
}
 
5>字符串拼接
  stringByAppendingString
  stringByAppendingFormat
 
6>字符串截取
  1.substringFromIndex:(含下标所在的字符)
  2.substringToIndex:(从字符串开始截取直到给定的下标,不含下标)
  3.NSMakeRange(loc,len)第一个参数下标的起始位置,第二个参数是要截取的字符串长度。
 
 7>字符串替换
   1.后一个字符串替换掉前一个字符串  “456”替换“123”
stringByReplacingOccurrencesOfString:@“123” withString:@“456”
   2.在某个范围内整体替换
stringByReplacingCharactersInRange:NSMakeRange(0, 2) withString:@"大家好"
 
  8>大小写
     1.转成大写: uppercaseString 将所有字母全部转成大写
NSString *str = @“today is wednesday"
NSString *upperStr = [str uppercaseString];
NSLog(@“%@“,upperStr);
      2.转成小写: lowercaseString 全部转成小写
      3.首字母转为大写: capitalizedString 每一个单词的首字母都变成大写
 
9>字符串与数值类型的转化
  1.转为数值类型
NSString *numStr = @“123”;
NSInteger num = [numStr integerValue];
NSLog(@“%ld”,num);
  2.转为基本整型
  [numStr intValue];
  3.转为浮点型
NSString *floatStr = @“34.23”;
float f =[floatStr floatValue];
 
10>可变字符串 NSMutableString是NS的子类
  1.字符串拼接:appendString
  2.插入字符串:insertString
  3.删除指定范围的字符串: deleteCharactersInRange:NSMakeRange(2,4)
  4.替换:replaceCharacterInRange:NSMakeRange(1,2)