NSString类简析

全是个人浅见,如有不当,欢迎指出 。以下所说,为常用方法。可能有些方法没有涉及到,只是个人的一个学习总结。

1.创建NSString大体分三类方法

a.直接赋值

//@""类似于C语言中的“”,是一种运算符号,它首先在只读数据段开辟一块内存,存放字符串@“IOS”,然后返回其地址。
NSString * aString1 = @"IOS";

b.实例方法创建

NSString * aString1 = [[NSString alloc] initWithString:@"IOS"];
//用C字符串初始化
const char * cString = "IOS";
NSString * aString2 = [[NSString alloc] initWithCString:cString encoding:NSUTF8StringEncoding];
NSString * aString3 = [[NSString alloc] initWithUTF8String:cString];
//创建格式化字符串
NSString * aString4 = [[NSString alloc] initWithFormat:@"Age = %d",24];
c.类方法创建

NSString * aString5 = [NSString stringWithString:@"IOS"];
NSString * aString6 = [NSString stringWithUTF8String:"IOS"];
NSString * aString7 = [NSString stringWithFormat:@"Age = %d",24];
2.字符串比较

NSString * str1 = @"String";
NSString * str2 = @"string";
a.isEqualToString:方法(相同返回1,否则0)
BOOL result = [str1 isEqualToString:str2];
b.compare方法

//返回结果
enum _NSComparisonResult {
        NSOrderedAscending = -1,
        NSOrderedSame,
        NSOrderedDescending
       };
//区分大小写
result = [str1 compare:str2];
//不区分大小写
result = [str1 caseInsensitiveCompare:str2];
3.改变字符串大小写
- (NSString *)uppercaseString;//转大写
- (NSString *)lowercaseString;//转小写
- (NSString *)capitalizedString;//单词除首字母大写,其余小写
4.字符串搜索,类似C中的strstr()函数
NSString * str1 = @"I love IOS very much";
NSString * str2 = @"IOS";
NSRange range = [str1 rangeOfString:str2];
NSUInteger location = range.location;
NSUInteger length = range.length;
//location = 7;
//length = 3;
5.字符串截取
NSString * str1 = @"abcdefg";
//a.从头到指定位置,但不包括该位置的值
 NSString * str2 = [str1 substringToIndex:3];
//b.从该位置开始,直到结束,包括该位置
NSString * str3 = [str1 substringFromIndex:3];
//c.截取指定范围的字符串,从location位置的值开始(包括该位置)
NSString * str4 = [str1 substringWithRange:NSMakeRange(3, 2)];
//结果
//str2 = @"abc";
//str3 = @"defg";
//str4 = @"de";
6.前缀、后缀判断
//用过一次是用在电话号码判断上面
- (BOOL)hasPrefix:(NSString *)aString;
- (BOOL)hasSuffix:(NSString *)aString;

以下为NSMutableString所特有的方法

1.预设大小

//当字符串大小超过预设大小时,自动扩充
NSMutableString * str = nil;
str = [NSMutableString stringWithCapacity:10];
str = @"abcdefgabcdefg";
2.增加字符串
NSMutableString * str = [[NSMutableString alloc] init];
[str appendString:@"I "];
[str appendFormat:@"am %d years old",22];
3.插入字符串

//不可以这样初始化NSMutbaleString
//NSMutableString * str = @"boy!";
//因为@“boy!”返回的是NSString *类型的指针
NSMutableString * str = [[NSMutableString alloc] initWithString:@"boy!"];
[str insertString:@"Hi," atIndex:0];
4.删除字符串
//删除指定范围的字符,包括location的值
NSMutableString * str = [NSMutableString stringWithString:@"Hi,girls!"];
[str deleteCharactersInRange:NSMakeRange(2, 7)];
5.字符串重置

NSMutableString * str = [[NSMutableString alloc] initWithString:@"This"];
[str setString:@"That"];
6.替换指定范围的字符串

NSMutableString * str = [[NSMutableString alloc] initWithString:@"This"];
[str replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值