oc第一天课程代码(NSString常用函数及初始化方式)

#import <Foundation/Foundation.h>


void stringOther()

{

    NSMutableString* str = [[NSMutableString alloc] initWithFormat:@"This is my program"] ;

    //将字符串转(所有字符)换为大写字母返回

    NSString* upStr = [str uppercaseString] ;

    

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

    

    //将字符串转化为小写字母返回一个新的字符串

    NSString* lowerStr = [str lowercaseString];

    

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

    

    //将字符串转换为首字符大写返回

    NSString* capitalStr = [str capitalizedString];

    

    NSLog(@"capStr = %@",capitalStr) ;

    

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

    

    NSString* strULR = @"http://www.baidu.com";

    //判断一个字符串是否含有某种前缀

    //如果返回值为YES,判断成功

    //否则失败

    BOOL isHasPrefix = [strULR hasPrefix:@"http://"] ;

    

    if (isHasPrefix == YES)

    {

        NSLog(@"这是一个网址链接!!!");

    }

    //检查是否具有某个后缀名

    BOOL isHasPos = [strULR hasSuffix:@".mp3"];

    if (isHasPos == NO)

    {

        NSLog(@"这不是一个有效的mp3链接!!!");

    }

    

    NSString* str1 = [[NSString alloc] initWithFormat:@"acc"] ;

    NSString* str2 = [[NSString alloc] initWithFormat:@"abc"] ;

    //判断两个字符串是否相等

    BOOL ret = [str1 isEqualToString:str2] ;

    if ( ret == YES)

    {

        NSLog(@"OK!!!");

    }

    

    if ([str1 compare:str2] == NSOrderedSame)

    {

        NSLog(@"相等!!!");

    }

    else if ([str1 compare:str2] == NSOrderedAscending)

    {

        NSLog(@"生序!!!");

    }

    else if ([str1 compare:str2] == NSOrderedDescending)

    {

        NSLog(@"降序!!!");

    }

    

}


void initString()

{

    NSString* str1 = @"abc" ;

    

    NSString* str2 = [[NSString alloc] init] ;

    

    str2 = @"123" ;

    //90%以上的情况都可以使用format函数初始化字符串

    NSString* str3 = [[NSString alloc] initWithFormat:@"my age is %d",30];

    

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

    

    //通过C字符串"123"来初始化一个NSString对象

    //参数二:编码格式,一般使用NSUTF8编码格式

    NSString* str4 = [[NSString alloc]

                      initWithCString:"你好" encoding:NSUTF8StringEncoding];

    

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

    

    //直接通过UTF8格式的字符串创建一个NSString字符串

    NSString* str5 = [[NSString alloc] initWithUTF8String:"88889999"];

    

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

    

    //通过之前创建过的字符串来创建一个新的字符串

    NSString* str6 = [[NSString alloc] initWithString:str3];

    

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

    

//    NSString* str61 = [[NSString alloc] initWithString:@"111"] ;

    

    NSURL* url = [NSURL URLWithString:@"http://www.baidu.com"];

    

    NSString* str7 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

    

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

}


//使用类方法初始化

void initStaticString()

{

    //类方法创建

    NSString* str1 = [NSString stringWithString:@"111"];

    //格式化类方法

    NSString* str2 = [NSString stringWithFormat:@"格式化%d %d%d",30,20,20] ;

    //UTF8类初始化方法

    NSString* str3 = [NSString stringWithUTF8String:"12345"] ;

    //通过C字符串以及相应编码格式

    NSString* str4 = [NSString stringWithCString:"c字符串" encoding:NSUTF8StringEncoding] ;

    

    NSString* str5 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.youku.com"] encoding:NSUTF8StringEncoding error:nil] ;

    

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

}


void findString()

{

    //定义一个字符串,通过Format来初始化

    NSString* str = [[NSString alloc] initWithFormat:

                     @"This is my first OC program"];

    

    //获取字符串中的一个子字符串

    //从字符串开始部分开始计算,截取到参数所指向位置索引

    //字符串索引从0开始,0截取到参数所指向的位置

    //不包括参数所在的字符位置,只到前一个位置的字符

    NSString* subStr1 = [str substringToIndex:4];

    

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

    //获取一个子字符串

    //从参数索引位置开始截取直到字符串结尾部分

    //包括参数索引值所在的字符

    NSString* subStr2 = [str substringFromIndex:11] ;

    

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

    

    //声明范围结构体

    NSRange range = NSMakeRange(4, 10) ;

//    range.location = 4 ;

//    range.length = 10 ;

    //通过一个范围来获得一个子字符串

    NSString* subStr3 = [str substringWithRange:range];

    

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

    

    //获得一个字符在另外一个字符串中的位置

    NSRange rangeSub = [str rangeOfString:@"This"];

    

    NSLog(@"range.location = %ld",rangeSub.location) ;

    NSLog(@"range.length = %ld",rangeSub.length) ;

    

    if(rangeSub.length == 0)

    {

        NSLog(@"未找到子字符串!!!");

    }

    

    NSString* subStr7 = [str substringWithRange:rangeSub];

}


//可变字符串处理

void mulString()

{

    //创建一个可变更字符串

    //创建一个可变字符串对象,预留空间为n个空间

    NSMutableString* mStr = [[NSMutableString alloc] initWithCapacity:100] ;

    

    //在字符串后面添加字符串

    [mStr appendString:@"This is Apple cba cba cba"];

    

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

    

    //在原有字符串尾部添加格式化的字符串

    [mStr appendFormat:@"\nmy age is %d\n",30];

    

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

    

    //插入一个字符串

    //参数一表示要嵌入的字符串

    //参数二表示嵌入字符串的起始位置

    [mStr insertString:@"1111\n" atIndex:[mStr length]-1] ;

    

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

    

    NSRange rangeDelete = NSMakeRange(0, 5);

    

    //通过指定范围删除一个子字符

    [mStr deleteCharactersInRange:rangeDelete] ;

    

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

    

    NSRange rangeReplace = NSMakeRange(14, 3);

    

    //通过指定的范围来替换相应的子字符串

//    [mStr replaceCharactersInRange:rangeReplace withString:@"cba"] ;

    

    while (true)

    {

        NSRange range = [mStr rangeOfString:@"abc"] ;

        

        if (range.length == 0)

        {

            break ;

        }

        

        [mStr replaceCharactersInRange:range withString:@"cba"];

    }

    //返回字符串的长度

    [mStr length] ;

    //mStr.length ;

    

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

}


int main(int argc, const char * argv[])

{


    @autoreleasepool

    {

        stringOther();

        //mulString();

        //findString() ;

        //initStaticString();

        //initString() ;

        // insert code here...

        NSLog(@"Hello, World!");

        

    }

    return 0;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值