Oc-语句总结(1)

1.unichar str = [str characterAtIndex:i];

用途:用于字符的遍历

例 :NSString*address = @"http://baidu.com";//不可变的字符

for (int i  = 0; i<address.length; i++) {

unichar str = [address characterAtIndex:i];
            NSString  *swap_Str =[NSString stringWithFormat:@"%c",str];

NSLog(@"%@",swap_Str);

2.BOOL result = [str hasPrefix:@"http://"];

用途:前缀的搜索

例: NSString*str = @"http://itcast.com";//不可变的字符

BOOL result = [str hasPrefix:@"http://"];//布尔类型

if(result){ NSLog(@"str前缀是http://,证明str是网址”); }

else{    NSLog(@"str前缀不是 http://前缀,证明str非网址”);  }

3. BOOL result = [str hasSuffix:@".cn"];

用途:后缀的搜索

例: NSString*str = @"file:///user/apple.cn";

BOOL result = [str hasSuffix:@".cn"];

if (result) {  NSLog(@"str后缀有.cn”);  }

else{   NSLog(@"str后缀没有.cn”);  }

4.NSRange  range = [str rangeOfString:str1];(从左到右)结构体

用途:字符串检查(字符位置的查找)

例: //正向寻找(0~)

NSString*str   = @"yue yue have a shaishai shaishai~";

NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length
        NSRange  range = [str rangeOfString:str1];

NSLog(@"loc = %lu,len = %lu",range.location,range.length);

输出结果: loc = 15,len = 8

5.NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];

用途:字符串检查(结构体)

例:  //反向寻找(0~)
        NSString*str   = @"yue yue have a shaishai shaishai~";
        NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length(左->右)
        NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];

NSLog(@"loc=%lu,len=%lu",range.location,range.length);

输出结果:  loc=24,len=8

6.NSRange的使用

用途:表示范围

1.NSString*str = NSStringFromRange(range);

用途:将NSRange转换成字符

例:   NSRange  range = {3,5};

//将NSRange转换成字符
           NSString*str = NSStringFromRange(range);

NSLog(@"str=%@",str);

输出结果: str={3, 5}

   

    2.用途:设置范围的方法

NSRange  range = {3,5};

NSRange range1 = NSMakeRange(loc, len);

aa.loc = 1;  aa.len = 4;

3.用途:且不知道,哪个是loc和len时用这个设置范围的方法

NSRange  range2 = {.location = 5,.length = 7};

7.字符串的截取(字符串)

1.NSString*str1 = [str substringFromIndex:5];

用途:字符串的截取-消去前半部分,保留后半部分

例:NSString*str   = @"01234567890jqk";

//截取字符串(消去)前半部分
                    //从指定位置截取到最后,包含指定位置
                    NSString*str1 = [str substringFromIndex:5];

NSLog(@"str1 = %@",str1);

输出结果: str1 = 567890jqk

   

    2.NSString*str1 = [str substringToIndex:7];

     用途:字符串的截取-消去后半部分,保留前半部分

      例:NSString*str   = @"01234567890jqk";

//截取后半部分,消除后半部分,不包括指定位置
                   NSString*str1 = [str substringToIndex:7];

NSLog(@"str1 = %@",str1);

输出结果:str1 = 0123456

      

     3.NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];

       用途:截取指定范围

        例:NSString*str   = @"www.itcast.com";

NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];

NSLog(@"%@",str1);

 

8.NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*"withString:@"/"];

   用途:字符串的替换

   例: //将*替换成/

NSString *str = @"http:**ios.itcast.cn*ios*images*content_25.jpg";

//str stringByReplacingOccurrencesOfString:要被替换的字符串 withString:用来替换的字符串

NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*" withString:@"/"];

NSLog(@"%@",str1);

      输出结果: http://ios.itcast.cn/ios/images/content_25.jpg

      提示:@“ “替换@“”—>消去空格,不留间隙

9.int/float/double/…value的用法(对象方法)

用法:字符串转换成基本数据类型

例://字符串类型转换成基本数据类型

NSString *str1 = @"3";
           //value是一个对象方法
            int a = [str1 intValue];

NSLog(@"a = %d",a);

诀窍:你要转成啥类型,就啥value

10.  char * ch = [str UTF8String];(对象方法)

用法:OC语言中的字符串转C语言中的字符串

例:NSString *str [email protected]"aaa";

char * ch = [str UTF8String];

NSLog(@"ch = %s",ch);

11. NSString *str = [NSString stringWithUTF8String:ch];(类方法)

用法:C语言中的字符串转OC语言中的字符串

例:char *ch = "aaa";

NSString *str = [NSString stringWithUTF8String:ch];

NSLog(@"str = %@",str);

12.去空格

用途:去掉首尾空格

例:NSString *str   = @" a b c d ";

NSString *str1 =[str stringByTrimmingCharactersInSet:[NSCharacterSet

whitespaceCharacterSet]];

NSLog(@"str1 =%@",str1);

注意:替换[]中的内容,进行功能的实现

+ (id)whitespaceCharacterSet; //去掉头尾空格
        + (id)lowercaseLetterCharacterSet; // 去掉头尾的小写字母
        + (id)uppercaseLetterCharacterSet; //去掉头尾的大写字母

+ (id)characterSetWithCharactersInString:(NSString *)aString; // 去掉头尾的指定字符串

13.字符串比较大小(枚举)(比较的是值)

1.含:NSComparisonResult result= [xiaoming compare:xiaoli];

NSComparisonResult result1= [xiaoming compare:xiaoli     options:NSCaseInsensitiveSearch];//条件options:NSCaseInsensitiveSearch

: //比较大小

NSString  *xiaoming  = @"xiaoming";
            NSString  *xiaoli  = @"xiaoli";
            //枚举用 NSComparisonResult类型  来接收
            NSComparisonResult result= [xiaoming compare:xiaoli];
            NSComparisonResult result1= [xiaoming compare:xiaoli  options:NSCaseInsensitiveSearch];
            switch (result) {
                   case NSOrderedAscending:
                            NSLog(@"-1 升序 小到大");
                            break;
                    case NSOrderedDescending:
                             NSLog(@"1 降序 大到小");

break;

case NSOrderedSame:

NSLog(@"大小相等");

break; }

可替换的条件:NSCaseInsensitiveSearch:不区分大小写字符。

NSLiteralSearch:进行完全比较,区分大小写。(默认)

NSNumericSearch:比较字符串的字符个数,不是字符值(实际优先比较ascii码值)。

     

       2.[str isEqualToString:str1];(比较的是值)

          用途:比较大小的第二种方式——>只能比较是否相同

               例: NSString  *str   = @"abc";
                     NSString  *str1 = @"bcd";
                    BOOL result =  [str isEqualToString:str1];//布尔类型
                    if(result){
                                  NSLog(@"str与str1的值相同");}

else{  NSLog(@"str与str1的值不相同~~~");}

输出结果:str与str1的值不相同~~~

谨记:==比较的是地址,而isEqualToString:比较的是值

14.可变字符串的创建与添加

1.  [str appendString:@"哈哈哈”];——>添加

用途:为可变字符串添加内容

例: //可见字符串的创建

NSMutableString *str = [NSMutableString string];
             //往可变字符串中追加字符串

[str appendString:@"哈哈哈"];

NSLog(@"str = %@",str);

[str appendString:@"hahaha"];

NSLog(@"str = %@",str);

输出结果:1.  str = 哈哈哈

2.str = 哈哈哈hahaha

解析:1.重复添加字符串,原字符串内容不覆盖。

2.可变字符串添加修改过程中,地址不变,内容可以改变。

2. [str appendFormat:@"%[email protected]",715134031];——>按格式添加

用途:按照某种格式追加

例: /创建可变字符串(空)

NSMutableString *str = [NSMutableString string];

//按照某种格式追加  如:【str appendFormat:按照的某种格式,内容】

[str appendFormat:@"%[email protected]",715134031];

NSLog(@"%@",str);

输出结果:[email protected]

3.[str deleteCharactersInRange:NSMakeRange(3,2)];——>删除

用途:删除指定范围的字符串

1.例:  2.的输出结果为:[email protected]qq.com

//删除指定范围的字符串

[str deleteCharactersInRange:NSMakeRange(3,2)];

NSLog(@"%@",str);

输出结果:[email protected]qq.com

2.例:rangeOfStringdeleteCharactersInRange:的经典使用

                        2.的输出结果为:[email protected]qq.com

NSRange range = [str rangeOfString:@"403"];     //找到403

[str deleteCharactersInRange:range];//删除403

NSLog(@"%@",str);  //输出结果

输出结果: [email protected]qq.com

    4.[str insertString:@"403" atIndex:5];——>插入

                    用途:插入字符串

                      例:上例输出结果: [email protected]qq.com

//将403重新插入str

//str insertString:要插入的字符串 atIndex:插在哪个位置就写哪

[str insertString:@"403" atIndex:5];
                            NSLog(@"%@",str);
                            输出结果:[email protected]qq.com

5.  [str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng”];

用途:替换字符串

1.unichar str = [str characterAtIndex:i];

用途:用于字符的遍历

例 :NSString*address = @"http://baidu.com";//不可变的字符

for (int i  = 0; i<address.length; i++) {

unichar str = [address characterAtIndex:i];
            NSString  *swap_Str =[NSString stringWithFormat:@"%c",str];

NSLog(@"%@",swap_Str);

2.BOOL result = [str hasPrefix:@"http://"];

用途:前缀的搜索

例: NSString*str = @"http://itcast.com";//不可变的字符

BOOL result = [str hasPrefix:@"http://"];//布尔类型

if(result){ NSLog(@"str前缀是http://,证明str是网址”); }

else{    NSLog(@"str前缀不是 http://前缀,证明str非网址”);  }

3. BOOL result = [str hasSuffix:@".cn"];

用途:后缀的搜索

例: NSString*str = @"file:///user/apple.cn";

BOOL result = [str hasSuffix:@".cn"];

if (result) {  NSLog(@"str后缀有.cn”);  }

else{   NSLog(@"str后缀没有.cn”);  }

4.NSRange  range = [str rangeOfString:str1];(从左到右)结构体

用途:字符串检查(字符位置的查找)

例: //正向寻找(0~)

NSString*str   = @"yue yue have a shaishai shaishai~";

NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length
        NSRange  range = [str rangeOfString:str1];

NSLog(@"loc = %lu,len = %lu",range.location,range.length);

输出结果: loc = 15,len = 8

5.NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];

用途:字符串检查(结构体)

例:  //反向寻找(0~)
        NSString*str   = @"yue yue have a shaishai shaishai~";
        NSString*str1 [email protected]"shaishai";
        //str1在str中的位置,loc开始,长度为length(左->右)
        NSRange range  = [str rangeOfString:str1 options:NSBackwardsSearch];

NSLog(@"loc=%lu,len=%lu",range.location,range.length);

输出结果:  loc=24,len=8

6.NSRange的使用

用途:表示范围

1.NSString*str = NSStringFromRange(range);

用途:将NSRange转换成字符

例:   NSRange  range = {3,5};

//将NSRange转换成字符
           NSString*str = NSStringFromRange(range);

NSLog(@"str=%@",str);

输出结果: str={3, 5}

   

    2.用途:设置范围的方法

NSRange  range = {3,5};

NSRange range1 = NSMakeRange(loc, len);

aa.loc = 1;  aa.len = 4;

3.用途:且不知道,哪个是loc和len时用这个设置范围的方法

NSRange  range2 = {.location = 5,.length = 7};

7.字符串的截取(字符串)

1.NSString*str1 = [str substringFromIndex:5];

用途:字符串的截取-消去前半部分,保留后半部分

例:NSString*str   = @"01234567890jqk";

//截取字符串(消去)前半部分
                    //从指定位置截取到最后,包含指定位置
                    NSString*str1 = [str substringFromIndex:5];

NSLog(@"str1 = %@",str1);

输出结果: str1 = 567890jqk

   

    2.NSString*str1 = [str substringToIndex:7];

     用途:字符串的截取-消去后半部分,保留前半部分

      例:NSString*str   = @"01234567890jqk";

//截取后半部分,消除后半部分,不包括指定位置
                   NSString*str1 = [str substringToIndex:7];

NSLog(@"str1 = %@",str1);

输出结果:str1 = 0123456

      

     3.NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];

       用途:截取指定范围

        例:NSString*str   = @"www.itcast.com";

NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];

NSLog(@"%@",str1);

 

8.NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*"withString:@"/"];

   用途:字符串的替换

   例: //将*替换成/

NSString *str = @"http:**ios.itcast.cn*ios*images*content_25.jpg";

//str stringByReplacingOccurrencesOfString:要被替换的字符串 withString:用来替换的字符串

NSString *str1 =  [str stringByReplacingOccurrencesOfString:@"*" withString:@"/"];

NSLog(@"%@",str1);

      输出结果: http://ios.itcast.cn/ios/images/content_25.jpg

      提示:@“ “替换@“”—>消去空格,不留间隙

9.int/float/double/…value的用法(对象方法)

用法:字符串转换成基本数据类型

例://字符串类型转换成基本数据类型

NSString *str1 = @"3";
           //value是一个对象方法
            int a = [str1 intValue];

NSLog(@"a = %d",a);

诀窍:你要转成啥类型,就啥value

10.  char * ch = [str UTF8String];(对象方法)

用法:OC语言中的字符串转C语言中的字符串

例:NSString *str [email protected]"aaa";

char * ch = [str UTF8String];

NSLog(@"ch = %s",ch);

11. NSString *str = [NSString stringWithUTF8String:ch];(类方法)

用法:C语言中的字符串转OC语言中的字符串

例:char *ch = "aaa";

NSString *str = [NSString stringWithUTF8String:ch];

NSLog(@"str = %@",str);

12.去空格

用途:去掉首尾空格

例:NSString *str   = @" a b c d ";

NSString *str1 =[str stringByTrimmingCharactersInSet:[NSCharacterSet

whitespaceCharacterSet]];

NSLog(@"str1 =%@",str1);

注意:替换[]中的内容,进行功能的实现

+ (id)whitespaceCharacterSet; //去掉头尾空格
        + (id)lowercaseLetterCharacterSet; // 去掉头尾的小写字母
        + (id)uppercaseLetterCharacterSet; //去掉头尾的大写字母

+ (id)characterSetWithCharactersInString:(NSString *)aString; // 去掉头尾的指定字符串

13.字符串比较大小(枚举)(比较的是值)

1.含:NSComparisonResult result= [xiaoming compare:xiaoli];

NSComparisonResult result1= [xiaoming compare:xiaoli     options:NSCaseInsensitiveSearch];//条件options:NSCaseInsensitiveSearch

: //比较大小

NSString  *xiaoming  = @"xiaoming";
            NSString  *xiaoli  = @"xiaoli";
            //枚举用 NSComparisonResult类型  来接收
            NSComparisonResult result= [xiaoming compare:xiaoli];
            NSComparisonResult result1= [xiaoming compare:xiaoli  options:NSCaseInsensitiveSearch];
            switch (result) {
                   case NSOrderedAscending:
                            NSLog(@"-1 升序 小到大");
                            break;
                    case NSOrderedDescending:
                             NSLog(@"1 降序 大到小");

break;

case NSOrderedSame:

NSLog(@"大小相等");

break; }

可替换的条件:NSCaseInsensitiveSearch:不区分大小写字符。

NSLiteralSearch:进行完全比较,区分大小写。(默认)

NSNumericSearch:比较字符串的字符个数,不是字符值(实际优先比较ascii码值)。

     

       2.[str isEqualToString:str1];(比较的是值)

          用途:比较大小的第二种方式——>只能比较是否相同

               例: NSString  *str   = @"abc";
                     NSString  *str1 = @"bcd";
                    BOOL result =  [str isEqualToString:str1];//布尔类型
                    if(result){
                                  NSLog(@"str与str1的值相同");}

else{  NSLog(@"str与str1的值不相同~~~");}

输出结果:str与str1的值不相同~~~

谨记:==比较的是地址,而isEqualToString:比较的是值

14.可变字符串的创建与添加

1.  [str appendString:@"哈哈哈”];——>添加

用途:为可变字符串添加内容

例: //可见字符串的创建

NSMutableString *str = [NSMutableString string];
             //往可变字符串中追加字符串

[str appendString:@"哈哈哈"];

NSLog(@"str = %@",str);

[str appendString:@"hahaha"];

NSLog(@"str = %@",str);

输出结果:1.  str = 哈哈哈

2.str = 哈哈哈hahaha

解析:1.重复添加字符串,原字符串内容不覆盖。

2.可变字符串添加修改过程中,地址不变,内容可以改变。

2. [str appendFormat:@"%[email protected]",715134031];——>按格式添加

用途:按照某种格式追加

例: /创建可变字符串(空)

NSMutableString *str = [NSMutableString string];

//按照某种格式追加  如:【str appendFormat:按照的某种格式,内容】

[str appendFormat:@"%[email protected]",715134031];

NSLog(@"%@",str);

输出结果:[email protected]

3.[str deleteCharactersInRange:NSMakeRange(3,2)];——>删除

用途:删除指定范围的字符串

1.例:  2.的输出结果为:[email protected]qq.com

//删除指定范围的字符串

[str deleteCharactersInRange:NSMakeRange(3,2)];

NSLog(@"%@",str);

输出结果:[email protected]qq.com

2.例:rangeOfStringdeleteCharactersInRange:的经典使用

                        2.的输出结果为:[email protected]qq.com

NSRange range = [str rangeOfString:@"403"];     //找到403

[str deleteCharactersInRange:range];//删除403

NSLog(@"%@",str);  //输出结果

输出结果: [email protected]qq.com

    4.[str insertString:@"403" atIndex:5];——>插入

                    用途:插入字符串

                      例:上例输出结果: [email protected]qq.com

//将403重新插入str

//str insertString:要插入的字符串 atIndex:插在哪个位置就写哪

[str insertString:@"403" atIndex:5];
                            NSLog(@"%@",str);
                            输出结果:[email protected]qq.com

5.  [str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng”];

用途:替换字符串

例://创建可变字符串(空)

NSMutableString *str = [NSMutableString string];

[str appendString:@"yueyue老师真帅!"];

NSLog(@"%@",str);//输出结果:yueyue老师真帅!

//str replaceCharactersInRange:要替换掉的位置 withString:用来替换的字符串

[str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng"];

NSLog(@"%@",str);//输出结果:pengpeng老师真帅!

时间: 2024-10-22 15:58:17

Oc-语句总结(1)的相关文章

OC与Swift在判读语句中的区别

11.swift中的switch结构 区别一: oc中switch条件只可以放整数 swift中switch条件可以放几乎任何数据类型 区别二: oc中每一个case中应有break,如果没有break,则会继续向下贯穿执行case直到碰见break跳出switch结构 swift中不需要在case分支最后添加break语句,该case分支执行完成后,会跳出switch结构 区别三: oc中不是每个case后面必须有可执行语句,如果某个case分支中没有可执行语句和break,则该分支将会执行其

oc基础循环语句练习

//if语句 int score = 80; if (score > 60 ) { NSLog(@"及格"); }else { NSLog(@"不及格"); } //if语句判断条件存在多个的情况下,判断一个年份是不是闰年 int year; printf("请输入一个年份:"); scanf("%d",&year); if ((year % 4 == 0 && year % 100 != 0)

iOS 数据库SQL的增删改查语句实现

1: 创建数据库表格 1.1 — 表格创建使用一个数据库软件快速创建:软件大小14.3M; 下载地址:http://pan.baidu.com/s/1qWOgGoc; 表格创建-> 打开软件,点击第一个 "New SQLite Database" 开始创建表格 1.2 — 点击保存之后就又一个Student的sql在桌面,然后创建表格,点击上方按钮Database -> Create Table 为了方便,创建的表格名字和数据库名字一样 Student:添加4个参数,整形.

Swift基本语法及与OC比较之二

1 //MARK:-----------------控制流----------------- 2 //MARK: 1.for - in 循环 ,不用声明Value类型 3 4 //for value in 1...6 { 5 //print(value) 6 // 7 //} 8 9 10 //不需要具体的值,只是为了得到循环次数 11 12 //for _ in 1...6 { 13 //print("123") 14 //} 15 16 17 //MARK: 2.for循环,和C一

OC教程8-内存管理

OC8-内存管理 OC语言中的内存管理机制为ARC(Automatic Reference Counting,自动引用计数).与2011年中旬推出,替换陈旧且低效的手动内存管理,关于手动内存管理的内容,本章教程不在讲授.本章主要从以下几个方面对内存管理进行展开讲讲解. 内存管理原则 对象引用类型 属性引用类型 强引用循环 AUTO类型与释放池 1,内存管理原则 核心原则:没有被对象指针使用(指向)的内存立即释放.这个原则决定一般情况下,不会用内存泄露的情况存在,但存在特殊情况,也是本章最后一个专

黑马程序员 OC self指针

当调用对象方法时,编译器都会默认传入一个指向本对象的指针.所以不同的对象都会调用到正确的成员变量.这个指针就是self,它的值就是new时在堆中分配内存的首地址.那么这个self在方法调用时是存储在栈中么?上代码调试来看一下 #import <Foundation/Foundation.h> @interface Person : NSObject { int _age; } - (void)setAge:(int)age; - (int)age; - (void)test:(int)age;

OC与Swift的区别四

12.条件语句的区别,此处只写区别,没有指出区别的其他方面oc与swift基本一致 12.1 oc中for if switch语句体如果只有一行代码,则{}可以省略 swift中for if switch语句体必须使用{} ,否则有语法错误 12.2for-in语法的区别:  //从1循环到3,包括3,即循环3次  for i in 1..3{ }  //如果不需要用到循环条件范围中的值,则使用_忽略该循环条件值,使其在循环体内不会创建局部变量 for _ in 1..3{ }  //循环条件值

OC的分类和协议

分类和协议是OC中比较显著的俩个特点.分类的功能主要是实现类的扩展,协议则常常用在代理的实现上. 1.分类的声明 在分类的接口文件中,只允许新增方法,不能新增变量.语法形式: @interface 类名 (分类名) 新增的方法声明: @end 2.定义方法 在分类的实现文件中,对新增方法进行定义,语法如下: @implementation 类名 (分类名) 新增的方法的定义{ 语句: } @end 3.方法调用 分类的方法声明和定义之后,就可以进行调用了,语法如下: [对象名 新增方法名] 实例

简单的OC程序

Ø     Foundation框架头文件的路径 1> 右击Xcode.app --> 显示包内容 2> Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework 主头文件 1> 主头文件:最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件 2> F

iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误

在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握. expression:表达式assignable:赋值variable:变量redefinition:重复定义type:类型conflicting:冲突项invalid:无效的conversion:转换specifier:说明符indent:缩进operands:运算对象.操作数binary:二