001-NSString的常用功能

NSString类里定义的常用几个对象方法:
1.//在对象后面追加固定的字符串,原对象地址不变,新生成的字符串有另一个地址,把该地址赋值给原对象的指针变量
- (NSString *)stringByAppendingString:(NSString*aString

2.//在对象后面追加带变量的字符串,原来的字符串对象并不改变,只是将新生成的字符串重新赋给原来对象的指针变量
- (NSString *)stringByAppendingFormat:(NSString *)format...

3.//获取字符串的长度,格式为:[对象 length] 或者 对象.length(对象.length的实质还是调用length方法)
@property(readonly) NSUInteger length

4.//获取字符串对象前多少个字符组成的字符串
- (NSString *)substringToIndex:(NSUInteger)anIndex

5.//NSRange的实质为自定义数据类型,typedef struct _NSRange { NSUInteger location;NSUInteger length;} NSRange;
NSRange NSMakeRange (  NSUInteger loc,  NSUInteger len);
Description: Creates a new NSRange from the specified values. (从具体的值上创建一个新的NSRange类型的数据)
Return: 
An NSRange with location location and length length.(返回NSRange数据类型的数据,该数据包含起始位置和长度)

6.// 获取从该字符串对象的某个位置起,一直到末尾的所有字符。
- (NSString *)substringFromIndex:(NSUInteger)anIndex 

7.//获取该字符串对象从某个位置起,长度为n的字符串
- (NSString *)substringWithRange:(NSRange)aRange

8,//获取一个字符串在该字符串对象中的位置,及其长度
- (NSRange)rangeOfString:(NSString *)aString

9.//将该字符串对象的每一个字符全部转换为大写字母(原对象的指针变量保存的地址值改变)
@property(readonly, copy) NSString *uppercaseString 

10.//将该字符串对象的每一个小写字符全部转换为小写字母(原对象的指针变量保存的地址值改变)

@property(readonly, copy)NSString* lowercaseString


#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSString* str = @"Hello";
        NSString* str1 = str;
        NSString* book = @"<<crazy ios book>>";
        NSLog(@"原来的地址为:%p", str);
        
        //在str后面追加固定的字符串
        //原来的字符串对象并不改变,只是将新生成的字符串重新赋给str指针变量
        str = [str stringByAppendingString: @",iOS!"];
        NSLog(@"%@", str);
        NSLog(@"str1的内容为:%@", str1);
        NSLog(@"现在的地址为:%p", str);
        
        //获取字符串对应的C风格字符串
        const char* cstr = [str UTF8String];
        NSLog(@"获取的C字符串: %s", cstr);
        
        //在str后面追加带变量的字符串
        //原来的字符串对象并不改变,只是将新生成的字符串重新赋给str指针变量
        str = [str stringByAppendingFormat: @"%@是一本不错的图书", book];
        NSLog(@"%@", str);
        NSLog(@"str的字符个数为: %lu", str.length);
        NSLog(@"str按UTF-8字符集解码后字节数为: %lu", [str lengthOfBytesUsingEncoding: NSUTF8StringEncoding]);
        
        //获取str的前10个字符组成的字符串
        NSString* s1 = [str substringToIndex: 10];
        NSLog(@"%@", s1);
        
        //获取str从第5个字符开始,与后面字符组成的字符串
        NSString* s2 = [str substringFromIndex: 5];
        NSLog(@"%@",s2);
        
        //获取str从第5个字符开始,到第15个字符组成的字符串
        NSString* s3 = [str substringWithRange: NSMakeRange(5, 15)];
        NSLog(@"%@", s3);
        
        
        //获取iOS在str中出现的位置
        NSRange pos = [str rangeOfString: @"iOS"];
        NSLog(@"iOS在str中出现的开始位置: %lu, 长度为: %lu",pos.location, pos.length);
        
        //将str的所有字符转为大写
        str = [str uppercaseString];
        NSLog(@"%@", str);
    }
    return 0;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值