NSString的用法

#import <Foundation/Foundation.h>


void initString()

{

    NSString* str1= @"abc";

    

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

    str2 = @"123";

    //90%以上的情况都可以使用initwithFormat函数初识话字符串

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

    

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

    

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

    NSString* str4 = [[NSString alloc]initWithCString:"你好" encoding:NSUTF8StringEncoding];

    

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

    

    

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

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

    

    //通过以前已经有的字符串创建一个新的字符串

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

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

    

    NSString* str7 = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://www.baidu.com"encoding:NSUTF8StringEncoding error:Nil];

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

    

    

}


//使用类方法初始化

void initStaticString()

{

    //类方法创建

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

    //格式化类方法

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

    //UTF8类初始化

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

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

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

    

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

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

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

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

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

    

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

    

    

}


void findString()

{

    NSString* str = [[NSString alloc]initWithFormat:@"This is my first OC program"];

    

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

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

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

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

    NSString* subStr1 = [str substringToIndex:4];

    

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

    

    //从索引位置开始截取直到结尾

    NSString* subStr2 = [str substringFromIndex:11];

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


    //声明范围结构体

    NSRange range = NSMakeRange(5, 11);

    NSString* subStr3 = [str substringWithRange:range];

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

    

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

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

    //如果rangeSub.length=0 代表没找到字符串

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

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

    

    NSString* subStr4 = [str substringWithRange:rangeSub];

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

}


void mulString()

{

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

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

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

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

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

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

    

    //在原有的字符串后面添加格式化字符串

    [mStr appendFormat:@"\n my age is %d\n" ,24];

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

    

    //插入一个字符串

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

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

    [mStr insertString:@"1111\n" atIndex:0];

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

    

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

    NSRange rangeDelete = NSMakeRange(0, 5);

    [mStr deleteCharactersInRange:rangeDelete];

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

    

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

    NSRange rangeReplace = NSMakeRange(0, 4);

    [mStr replaceCharactersInRange:rangeReplace withString:@"That"];

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

    

    while (true) {

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

        if (range.length == 0) {

            break;

        }

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

    }

    //字符串的长度

//    [mStr length];

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

}


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(@"capitalStr = %@",capitalStr);

    

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

    

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

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

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

    if (isHasPrefix == YES) {

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

    }

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

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

    if (isHasPos == NO) {

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

    }

    

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

    NSString* str2 = @"abc";

    

    //常量字符串可以这样比较

//    if (str1 == str2) {

//        NSLog(@"OK!!!");

//    }

    BOOL ret = [str1 isEqualToString:str2];

    if (ret == YES) {

        NSLog(@"OK!!!");

    }

    

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

        NSLog(@"升序");

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

    {

        NSLog(@"降序");

    }

    

}


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

{


    @autoreleasepool {

    

        stringOther();

//        mulString();

//        findString();

//        initStaticString();

//        initString();

    }

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值