OC字符串对象NSString对象方法使用基础

#import <Foundation/Foundation.h>

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

    @autoreleasepool {

//        //创建NSString类型的对象
//        //使用初始化方法initWithFormat:根据一定的字符串格式来初始化字符串对象,将格式串中的内容写入到字符串对象空间内
//        NSString *str = [[NSString alloc] initWithFormat:@"iPhone%d%@", a, @"S"];
//        
//        //使用便利构造器stringWithFormat:方法来快速创建对象,内部进行alloc以及初始化操作,内部通过initWithFormat初始化方法来进行初始化
//        NSString *str1 = [NSString stringWithFormat:@"lanou%@", @"henan"];
//        
//        //将c语言的字符串转为OC的字符串对象
//        //初始化方法
//        NSString *str21 = [[NSString alloc] initWithUTF8String:"ccc"];
//        //便利构造器方法
//        NSString *str2 = [NSString stringWithUTF8String:"abc"];
//        NSLog(@"%@", str);
//        NSLog(@"%lu", (unsigned long)[str1 length]);
//        NSLog(@"%@,%@", str21, str2);

        //1.创建一个新的字符串对象,存储“http://www.LANOU3g.com,lanouhenan”
        NSString *str = [[NSString alloc] initWithFormat:@"http://www.LANOU3g.com,lanouhenan"];
        //2.求字符串str的长度
        NSUInteger length = [str length];
        NSLog(@"%lu", length);

        //3.判断字符串是否以指定字符串开始或结束
        //判断一个网址是否是以http://开头,是否是以.com 结尾。
        BOOL isBegin = [str hasPrefix:@"www"];
        NSLog(@"%d", isBegin);

        //判断是否以.com结尾。
        BOOL isEnd = [str hasSuffix:@".com"];
        NSLog(@"%d", isEnd);

        //4.搜索一个指定字符串的范围
        //经常用来判断指定的字符串在不在str中。
        //只需根据返回的range的length来判断即可,如果length为0,说明不在str中,如果不为0,则存在。
        NSRange range = [str rangeOfString:@"lanou"];
//        NSLog(@"location:%lu, range:%lu", range.location, range.length);
        //将一个结构体类型的变量转化为字符串
        NSLog(@"%@", NSStringFromRange(range));

        //5.字符串截取(获取子字符串),分割字符串
        //获取子串.com
        NSString *subStr1 = [str substringFromIndex:18];
        NSLog(@"%@", subStr1);


        //获取子串http://
        NSString *subStr3 = [str substringToIndex:7];
        NSLog(@"%@", subStr3);

        //获取子串lanou
//        NSRange range2 = {11, 5};
        //NSMakeRange 用来快速创建NSRange变量({})用来赋初值
        NSString *subStr2 = [str substringWithRange:NSMakeRange(11, 5)];
        NSLog(@"%@", subStr2);


        //6.拼接字符串
        //拼接上henan
        NSString *newStr = [str stringByAppendingFormat:@"%@", @"henan"];
        NSLog(@"%@", newStr);

        //7.替换字符串
        //将ou替换成xiang
        NSString *replaceString = [str stringByReplacingOccurrencesOfString:@"ou" withString:@"xiang"];
        NSLog(@"%@", replaceString);

        //8.字符串比较

        NSComparisonResult result = [@"aa" compare:@"bb"];
        NSLog(@"%ld", result);

        //9.字符串和数值类型的转换
        //将@"5"转为整数
        //如果字符串前面是空格,则会忽略掉,把空格后面的数字转为整数,如果出现过其它字符之后,又出现了空格,则不会忽略掉
        NSInteger value1 = [@" 5a2" integerValue];
        NSLog(@"%ld", value1);

        //10.大小写转换操作。
        //(1)全部转化为大写
        NSString *upperString = [str uppercaseString];
        NSLog(@"%@", upperString);

        //(2)全部转化为小写
        NSString *lowerString = [str lowercaseString];
        NSLog(@"%@", lowerString);

        //(3)每个单词的首字母转化为大写,其余小写
        //如何区分是不同的单词
        //除了52个大小写字母,使用其它的字符来进行间隔,都会识别为不同的单词
        NSString *cap = [str capitalizedString];
        NSLog(@"%@", cap);


        //对于NSString创建的对象,都是不可变的字符串,不管对该对象做拼接、分割大小写转换、替换、数字转换等操作,都是对该对象的副本进行操作,不会对原字符串做任何的修改。(返回一个新的字符串)
        //如果想对原字符串进行修改,就要使用NSString的一个子类NSMutableString来创建对象,进行操作,NSMutableString相比于NSString类只是添加了增删改的方法。


    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值