设为首页 加入收藏

TOP

Objective-c史上最全字符串处理(六)
2014-11-23 19:52:14 来源: 作者: 【 】 浏览:43
Tags:Objective-c 史上 最全 字符串 处理
对象。类对象包含了指向超类的指针,类名,和指向类方法列表的指针。类对象还包含一个long型数据,为新创建的类实例对象指定大小(以字节为单位)

类方法可以用来访问全局数据。

实例方法要用前导减号(-)来开始声明

*/

height=[NSString stringWithFormat:@"you heigh is %d feet,%d inches",5,11];
NSLog(height);
//length 返回字符串中字符的个数。-(unsigned int) length;
if([height length]>5){
NSLog(@"height length ------");
}

//字符串比较
/**
isEqualToString :可以用来比较接收方和当作参数传递来的字符串的内容是否相同,返回yes和no
*/
NSString *thing1=@"hello";
NSString *thing2=[[NSString alloc] initWithString:@"hello"];
if([thing1 isEqualToString:thing2]){
NSLog(@"they are same");
}
/**
==:只判断指针数值,而不是它们所指向的内容
*/
if(thing1==thing2){
NSLog(@"== same");
}

/*
compare:比较两个字符串。区分大小写
compare将接收对象和传递来的字符串逐个字符的进行比较,它返回一个NSComparisonResult(枚举类型)来显示结果。
typedef enum _NSComparisonResult{
NSOrderedAscending=-1;
NSOrderedsame;
NSOrderedDescending;
} NSComparisonResult;
*/
[thing1 compare:thing2];
if(NSOrderedSame==[thing1 compare:thing2]){
NSLog(@"compare same");
}

//compare:options:
/***
-(NSComparisonResult) compare:(NSString *) string
options:(unsinged) mask;

options 是一个位掩码,可以使用|添加选项标记
选项:
NSCaseInsensitiveSearch:不区分大小写字符
NSLiteralSearch:进行完全比较,区分大小写
NSNumbericSearch:比较字符串的字符个数,而不是字符值
*/
if([thing1 compare:thing2 options:NSCaseInsensitiveSearch|
NSNumericSearch]==NSOrderedSame){
NSLog(@"they match");
}

/**
以某个字符串开始或结尾
-(BOOL) hasPrefix:(NSString *) aString;
-(BOOL) hasSuffix:(NSString *) aString;
*/
NSString *fileName=@"aabbbcc";
if([fileName hasPrefix:@"aa"]){
NSLog(@"begin with aa");
}

if([fileName hasSuffix:@"cc"]){
NSLog(@"end with cc");
}

//NSMutableString 可变字符串
//SString 是不可变的,一旦NSString 被创建了,我们就不能改变它。

//+(id) stringWithCapacity:(unsinged) capacity; capacity:是给NSMutableString的一个建议,字符串的大小并不局限于所提供的大小,这个容量仅是个最优值。

NSMutableString *str=[NSMutableString stringWithCapacity:40];
[str appendFormat:@"sdfsdf%d",5];
[str appendString:@"ssssssss"];
NSLog(str);

//删除字符串
//-(void) deleteCharactersInRange:(NSRange) range;

NSMutableString *ms;
ms=[NSMutableString stringWithCapacity:50];
[ms appendString:@"aabbccdd"];
NSRange range;
range=[ms rangeOfString:@"cc"];
[ms deleteCharactersInRange:range];
NSLog(ms);

//与实例方法一样,继承对类方法也同样适用

//------------------集合--------------
//NSArray ,NSDictionary
/**
NSArray 是一个cocoa类,用来存储对象的有序列表。
NSArray有两个限制:1,它只能存储objective-c的对象,而不能存储c语言中的基本数据类型如int,float,enum,struct,或者nsarray中的随机指针。2,不能这nsarray中存储nil

类方法:
arrayWithObjects:创建一个新的nsarray。发送一个以逗号分割的对象列表,这列表结尾添加nil代表列表结束,(这就是不能这nsarray中存储nil的原因)

*/
NSArray *array=[NSArray arrayWithObjects:@"aa",@"bb",@"cc",nil];

//-(unsigned) count; 取得包含对象的个数
//-(id) objectAtIndex:(unsigned int) index; 取得索引位置的对象

int i;
for (i=0; i<[array count]; i++) {
NSLog(@"index %d has %@",i,[array objectAtIndex:i]);
}

//------------切分数组
//-componentsSeparatedByString:
NSString *ns=@"sdf,dsfs,dfd,fdf,df,dd";
NSArray *comArr=[ns componentsSeparatedByString:@","];
for(int i=0;i<[comArr count];i++){
NSLog(@"componentsSeparatedByString===%@",[comArr objectAtIndex:i]);
}

//componentJoinedByString: 合并nsarray中的元素来创建字符串
NSString *joinedStr=[comArr componentsJoinedByString:@"-->"];
NSLog(@"joined---= %@",joinedStr);

//可变数组
NSMutableArray *mutableArr=[NSMutableArray arrayWithCapacity:40];
[mutableArr addObject:@
首页 上一页 3 4 5 6 7 8 下一页 尾页 6/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇最小堆 / 优先队列(C语言实现) 下一篇C语言经典面试题――一年有多少秒..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: