IOS--OC--LessonNSString 字符串

来源:互联网 发布:中科院软件所招聘 编辑:程序博客网 时间:2024/05/21 18:31

一 NSString
1.含义:继承于 NSObject 不可变字符串,一旦创建不能改变
2.格式化字符串 NSLog(@”hello%@”,@”lanou”);
二 将文件中的内容读入到字符串对象中

1. NSString *str9 = [[NSString alloc]initWithContentsOfFile:@"/Users/lanouhn/Documents/ali.txt"encoding:NSUTF8StringEncoding error:nil];

蓝色是数据类型 玫红是地址,你文档存得位置;黄色是编码格式;紫色是返回值,如果出错返回什么.
2. 1⃣获取某段范围的字符串
①定义: 如果 A 是 B 的字串, A 必须是连续的,且 B 中也能找到与 A 一样连续的对应相同的字符的,这时A 才是 B 的字串.

ps:  NSString *str11 = @"abdcefg";   NSRange rang = {0,4};0-4就是范围  NSString *str12 = [str11 substringWithRange:rang]; 需要新的变量接收    NSLog(@"%@",str12);2⃣ 通过字串获取在父串中的范围① NSRange rang2 =[ str11 rangeOfString:@"abd"];    NSLog(@"%lu,%lu",rang2.location,rang2.length);// 知道字符串 引入 之后用.location .length 求出这个字符串 范围

3⃣ 获取到某个位置的字串 从0开始 到指定位置之前

NSString *str13 = [str11 substringToIndex:3];NSLog(@"%@",str13);从 str11 里的字符串 获取字串 从0开始 到你写的 Index 的数字之前的字串② 获取从某个位置开始的字串 从设定的位置开始 到结束    NSString *str14 = [str11 substringFromIndex:3 ];    NSLog(@"%@",str14);和 index 差不多 但他是从 index 开始往后获取字串

4⃣ 字符串的拼接
①定义:因为nsstring 不可变 所有需设定新的接收

ps:  NSString *str15 = [str stringByAppendingString:@"yours"];    NSLog(@"%@",str15);Ps: 格式化的拼接格式化拼接 肯定有占位符 多少个占位符 逗号后面就跟几个基数    NSString *str16 = [str stringByAppendingFormat:@"your%@",@"firend"];    NSLog(@"%@",str16);

��️字符串的替换

NSString *str17 = [str16 stringByReplacingOccurrencesOfString:@"小丽" withString:@"刘亦菲"];NSLog(@"%@",str17);

@“小丽”位置的字符串 必须要和你 str 里定义的一样 这样@“刘亦菲才能找到字符串替换”
6⃣ 字符串是否包含某个前缀或者后缀
①公式:前缀 hasPrefix;
后缀 hasSuffix;

ps:  NSString *Sstr = @"中国北京海淀清河";//  判断字符串是否包含某个前缀 连续的字串   BOOL B1 = [Sstr hasPrefix:@"中国"];    NSLog(@"%d",B1);    NSLog(@"%@",B1 ? @"YES":@"NO");

// 判断字符串是否包含某个后缀 连续的字串

    BOOL B2 = [Sstr hasSuffix:@"海淀"];    NSLog(@"%d",B2);    NSLog(@"%@",B2 ? @"YES":@"NO”);//这个是能打出 YES NO 的方式;

    NSString *s = @"冠希.JPG";    NSString *s1 = nil; //设定新的接收    BOOL B3 = [s  hasSuffix:@"JPG"];// 判断有么有    if (B3 !=1) {// 假设1/0       s1 = [s stringByAppendingFormat:@"JPG"];    }else {       s1 = [s stringByReplacingOccurrencesOfString:@"JPG" withString:@"PNG"];    } NSLog(@"%@",s1);

7⃣️ 判断两个字符串相等
①公式:isEqualToString

       NSString *Sstr2 = @"小王";       NSString *Sstr3 = @"李校长";     BOOL ss = [Sstr2 isEqualToString:Sstr3];     NSLog(@"%d",ss)

② 在最上面定义了宏 判断与宏是否相同

#define USERNAME @"123456@qq.com"#define PASSWORD @"1234567" NSString *inPutUserName = @"123456";  NSString *inPutPassWord = @"1234567";//    判断有么有"qq.com"  BOOL B3 = [inPutUserName hasSuffix:@"@qq.com"];//      NSString *s1 = nil; 在这里不用拼接 她自己就是指针变量    if (B3!=1) {        inPutUserName = [inPutUserName stringByAppendingString:@"@qq.com"                         ];}//        判断用户名和密码  结果为真就登陆成功 反之        BOOL B4 = [inPutUserName isEqualToString:USERNAME];//与定义的用户名和密码想不相同        BOOL B6 = [ inPutPassWord isEqualToString:PASSWORD];        if (B4&&B6) {            NSLog(@"OK");        }else{            NSLog(@"用户名或密码错误");        }

8⃣️ 比较字符串大小
公式: compare 区分大小写的
caseInsensitiveCompare 不区分大小写
①compare 区分大小写的 与枚举有关 所用 switch
核心: NSOrderedAscending = -1L, NSOrderedSame = 0, NSOrderedDescending = 1

//    -1 :1<2;0: 1=2; 1: 1 >2; NSString *Sstr1 = @"LOL";    NSString *Sstr2 = @"LSPL";   NSInteger n =  [Sstr1 compare:Sstr2];    NSLog(@"%ld",n);    switch (n ) {        case 1:            NSLog(@"Sstr2大");            break;      case 0:            NSLog(@"same");            case -1:            NSLog(@"Sstr1大");            break;        default:            NSLog(@"error");            break;    }

② caseInsensitiveCompare 不区分大小写

9⃣️ 可变字符串: NSMutableString
①定义: 继承自 NSString 所以 NSString 的方法 NSMutableString 都能用

ps:①完整的定义 NSMutableString *mm = [[NSMutableString alloc]initWithString:@"我与僵尸有个约会"];    NSLog(@"%@",mm);    快速定义   后面要加.mutableCopy    NSMutableString *mm1 = @"我与僵尸有个约会123".mutableCopy;    NSLog(@"%@",mm1);

② 在指定位置插入字符段
公式: 指定位置 :insertString:(nsstring *) atIndex:(NSIneger);
末尾:appendString:( nsstring *);

 [mm1 insertString:@"皮卡丘" atIndex:3];     NSLog(@"%@",mm1);// 皮卡丘 是你要插入的东西 atIndex是你要插入的位置     [mm1 appendString:@"红莲岛"];     NSLog(@"%@",mm1);

// 直接在末尾插入
③ 指定范围内删除 字符段
公式:deleteCharactersInRange:NSMakeRange

 [mm1 deleteCharactersInRange:NSMakeRange (0, 9)];

④ 改 指定范围内修改
公式:eplaceCharactersInRange:NSMakeRange(0, 2) withString:@”躺在星空下的草地上”

   [mm1 replaceCharactersInRange:NSMakeRange(0, 2) withString:@"躺在星空下的草地上"];    // with 空间补多少都可以 NSM里输入的范围 意义 清空一段 塞入你所补的字符串    NSLog(@"%@",mm1);

三 NSNumber 数字类 继承 NSValue,

// 主要把基本数据类转化为对象 也可把对象转化为基本数据类型

  NSNumber *intNumber = [NSNumber numberWithInt:100];    NSLog(@"%@",intNumber);    // 3.14 浮点型    NSNumber *floatNumber = [NSNumber numberWithFloat:3.14];    NSLog(@"%@",floatNumber);//    short    NSNumber *shortNumber = [NSNumber numberWithShort:2];    NSLog(@"%@",shortNumber);//    BOOL    NSNumber *BOOLNumber = [ NSNumber numberWithBool:0];    NSLog(@"%@",BOOLNumber);//    NSInteger    NSNumber *integerNumber = [NSNumber numberWithUnsignedInteger:4];    NSLog(@"%@",integerNumber);

// 数值对象转基本数据类型

  int num =   [intNumber intValue];    NSLog(@"%d",num);    float num1 = [floatNumber floatValue];    NSLog(@"%.2f",num1);    short num2 = [shortNumber shortValue];    NSLog(@"%d",num2);    BOOL num3 = [BOOLNumber boolValue];    NSLog(@"%d",num3);    NSInteger num4 = [integerNumber integerValue];    NSLog(@"%ld",num4);

四 字母大小写变换
公式:大写:uppercaseString
小写:lowercaseString
首字母大写:capitalizedString
ps:

NSString *Sstr1 = @"i am student come from lanou where are you from";大写: NSString *Sstr3 = [Sstr1 uppercaseString];  NSLog(@"%@",Sstr3);小写:  NSString *Sstr5 = [ Sstr3 lowercaseString];首字母大写:  NSString *Sstr7 =   [ Sstr5 capitalizedString];    NSLog(@"%@",Sstr7);
0 0
原创粉丝点击